code: function trackController (incoming, controller) {
      return incoming
          .withLatestFrom(controller)
          .flatMap(x => {
  
              const incomingEvent     = x[0];
              const currentController = x[1];
  
              /**
               * Controller has not been set, therefore we allow this event
               * through (as this will in turn cause the controller to be set)
               */
              if (currentController.id === '') {
                  return just({locked: false, id: incomingEvent.id, socketId: incomingEvent.socketId});
              }
  
              /**
               * If the controller ID matches the incoming event ID
               * we return the controller, but re-set the socketId
               * as this could change (ie: every time the browser reloads)
               */
              if (currentController.id === incomingEvent.id) {
                  return just(Object.assign(currentController, {socketId: incomingEvent.socketId}));
              }
  
              /**
               * If we reach here, the controller was set, but the
               * controller.id didn't match the incoming event.id. So we bail here
               * and don't pass any value through. This is how we essentially
               * ignore all events from any browser that is not currently deemed
               * the controller.
               */
              return empty();
          })
          .distinctUntilChanged();
  }
docs: Take a stream of incoming actionSync events + the current controller
  and use the controller to determine if the current event is valid
  (ie: it's from the same browser)