IUpdateable (timeouts etc)
formatting
updating state on events, not every tick