Stef Factored out various ui components
Stef Moved types into namespaces