Don't implement a factory, rather register a descriptor