Controller structure

Pulling in the changes to entities from the demo as well as the new Controller/Messenger structuring.