Refactored parent classes to interfaces.