Generic interface
Expose private classes as public interfaces
Fill lack of type parameters of generic classes