ModelUpdatedEvent

Changed how TickEvents are handled by the model so that the state itself
is responsible for handling the event/posting the update.