Moved component UI to its own controller