Don't process events when the game controller is busy.
Use a busyLock instead of a semaphore.
Cleanup
Merge pull request #100 from oharaandrew314/event-queue

Queue Events in the NetworkController and let the GameController handle them as it is able.