CLR bindings now use a factory class to hide implementation