Moved some methods / innerclasses to superclasses