Complete rearrangement of classes to separate business logic