More logic moved to Logic.

UI updates are now event based.