Switched from classes to interfaces.