move start() call out of init
state pattern incorporation
moving things around in controller, putting preferences in. There are still obvious issues with setting preferences