anchor.diff:      type GameplayDispatcher () =
           inherit ScreenDispatcher ()
   
  -        (* Hud Addresses *)
  -
  -        static let getHudAddress address = satoga address HudName
  -        static let getHudHaltAddress address = gatoea (getHudAddress address) HudHaltName
  -        static let getHudSaveGameAddress address = gatoea (getHudAddress address) HudSaveGameName
  -        static let getHudFeelerAddress address = gatoea (getHudAddress address) HudFeelerName
  -        static let getHudDetailUpAddress address = gatoea (getHudAddress address) HudDetailUpName
  -        static let getHudDetailRightAddress address = gatoea (getHudAddress address) HudDetailRightName
  -        static let getHudDetailDownAddress address = gatoea (getHudAddress address) HudDetailDownName
  -        static let getHudDetailLeftAddress address = gatoea (getHudAddress address) HudDetailLeftName
  -
  -        (* Proxies *)
  +        (* Hud Proxies *)
  +
  +        static let proxyHud gameplay = Group.proxy <| satoga gameplay.ScreenAddress HudName
  +        static let proxyHudHalt gameplay = Entity.proxy <| gatoea (proxyHud gameplay).GroupAddress HudHaltName
  +        static let proxyHudSaveGame gameplay = Entity.proxy <| gatoea (proxyHud gameplay).GroupAddress HudSaveGameName
  +        static let proxyHudFeeler gameplay = Entity.proxy <| gatoea (proxyHud gameplay).GroupAddress HudFeelerName
  +        static let proxyHudDetailUp gameplay = Entity.proxy <| gatoea (proxyHud gameplay).GroupAddress HudDetailUpName
  +        static let proxyHudDetailRight gameplay = Entity.proxy <| gatoea (proxyHud gameplay).GroupAddress HudDetailRightName
  +        static let proxyHudDetailDown gameplay = Entity.proxy <| gatoea (proxyHud gameplay).GroupAddress HudDetailDownName
  +        static let proxyHudDetailLeft gameplay = Entity.proxy <| gatoea (proxyHud gameplay).GroupAddress HudDetailLeftName
  +
  +        (* Scene Proxies *)
   
           static let proxyScene gameplay =
               Group.proxy <| satoga gameplay.ScreenAddress SceneName
  
positive.code:             else world
  
          static let handlePlayerChange event world =
              let address = event.SubscriberAddress
              let playerNavigatingPath = isPlayerNavigatingPath address world
              let world = World.updateEntity (Entity.setEnabled playerNavigatingPath) (getHudHaltAddress address) world
              (Cascade, world)
  
          static let handleTouchFeeler event world =
              let playerInput = TouchInput event.Data
              let world = tryRunPlayerTurn playerInput event.SubscriberAddress world
              (Cascade, world)
  
          static let handleDownDetail direction event world =
              let playerInput = DetailInput direction
              let world = tryRunPlayerTurn playerInput event.SubscriberAddress world
              (Cascade, world)
  
          static let handleNewGame gameplay world =
  
negative.code:             let enemies = World.getEntities enemyAddresses world
              List.foldBack
                  (fun (enemy : Entity) enemyActivities ->
                      let noCurrentEnemyActionActivity =
                          Seq.notExists (fun (enemy : Entity) -> ActivityState.isActing <| enemy.GetActivityState world) enemies
                      let enemyActivity =
                          if noCurrentEnemyActionActivity then
                              match enemy.GetDesiredTurn world with
                              | ActionTurn _ -> NoActivity
                              | NavigationTurn navigationDescriptor -> Navigation navigationDescriptor
                              | CancelTurn -> NoActivity
  