Split the base class into multiple Interfaces/Classes