     ViewSystems.sound_sync_system
     ViewSystems.room_sync_system
   ]
-  Immutable.List(systemDefs).map (s) -> s.createInstance()
+  List(systemDefs).map (s) -> s.createInstance()
 
 
 createControllerEventMux = ->

Immutable = require 'immutable'

Transforms = require './transforms'


      # TODO: process events?
      return s1

    adminStateToGameState = (adminState, s) ->
      input = adminState.get('input')
      if adminState.get('paused')
        stepDt = adminState.get('stepDt')
        if stepDt?
          return updateGame(input.set('dt',stepDt), s)
        else
          return s
      else
        return updateGame(input,s)

    gameState = adminState
      .foldp(adminStateToGameState, TheGame.initialState())
      .dropRepeats(Immutable.is)
      .map (s) -> s.get('gameState')

    # When gameState changes, update view:
    gameState.subscribe (s) =>
      @viewMachine.update2(s)

  update: (dt) ->
    @dtMailbox.address.send dt
    @postOffice.sync()


  _update: (dt) ->
    empty = Map(admin: null, debug: null, p1Keyboard: null, p1Gamepad: null)
    controllerEvents = @controllerEventMux.next()
    # XXX:
    doDebug = false
