Add support for generic components