         dispatch_resume(dispatchTimer!)
     }
     
+    /// Stops `LogicEngine`'s `dispatchTimer`
     func stopTick() {
         if let timer = dispatchTimer {
             dispatch_source_cancel(timer)

        }
    }
    
    func handlePlayerCollisionEvent(player: Player, xCoordinate: Int?) {
        player.run()
        let validToSend = isValidToSend(player)

        initGhostEventQueue(ghostStore.eventSequence, ghostPlayerNumber: ghostPlayerNumber!)
    }
    
    /// The current score
    var score: Int {
        return state.distance
    }
    
    /// The current speed
    var speed: Int {
        return state.currentSpeed
    }
    
    /// Initializes the `eventQueue` with the `eventSequence` saved in a `GhostStore`
    private func initGhostEventQueue(eventSequence: [PlayerEvent], ghostPlayerNumber: Int) {
        let ghostSequence = eventSequence.map {
            (event: $0.event, playerNumber: ghostPlayerNumber, timeStep: $0.timeStep,
