Created screen component base class and implemented it in a button class, also moved some classes into sub-namespaces