"use strict";

class SocketHandler {
  constructor(socket) {
    this.socket = socket;
    socket.on(this.eventName, this.preEvent);
  }

  preEvent() {
    if (this.requiresAuthentication) {
      // TODO
      return false;
    }

    return handleEvent.apply({}, arguments);
  }

  handleEvent() {
    throw "Abstract event handler called";
  }

  get eventName() {
    return "abstract event";
  }

  get requiresAuthentication() {
    return true;
  }
}

module.exports = SocketHandler;

@@ -123,16 +123,27 @@
 preEvent
+.bind(this)
 );%0A  %7D%0A%0A
@@ -248,16 +248,21 @@
  return 
+this.
 handleEv
@@ -275,10 +275,12 @@
 ply(
-%7B%7D
+this
 , ar

Fix scope for preEvent and handleEvent calls