Lets look at the dispatch queue:
- initial state -
queue [draw_all()]
- some reset comes in -
queue [draw_all(), resetGameState()]
- now the
draw_all() is being executed which queues a new "RobotAction.setPosition" queue [resetGameState(), setPosition()]
- execute the resetGameState()
- Error!!! setPosition might reset robot position back, reset is kind of ignored