Set of interfaces for the Abstract Factory pattern such as IFactory<T>