Modified states to use MessageBus. Moved files in better hierarchy.