Changed Type to an interface, removing enum type. Signature changed to class instead of abstract class.