First go at moving controller into timer invoked by the ui.