Architecture refactoring

Correctly use the new architecture, with models responsible for pulling from mapper and sending events to parent presenters.