Activity Class Hierarchy

Funny, just this afternoon I was reading an article about how class hierarchies prevent code from being easily changed. Please don't merge until the Travis CI report below passes.

Feel free to add commits to this branch until it works.