Split up the BaseActivity

Specific implementation is now seperated from the abstract base classes.