nit: remove empty comment block
refactor: Type is now an abstract class instead of an interface