Implemented basic factory logic
Moved UI creation to seperate class
Moved UserInterface to extern class