Major Refactoring of the ManagerClasses

Also, I added a PaymentType Enum.