Created some base classes. Probably going to need to reorganize. Thought
it would be a good jumping off point.