Refactored a good portion of all classes to reflect a better setup. It is much more clean now.