Better organization of classes to allow for easier extensibility