Moving member variables to classes
Moving methods to corresponding interfaces
Adding interfaces per interface segregation
Adding base classes for interfaces