Even more refactoring. Implemented fluid interfaces and provided proper data encapsulation