Generate proxy factory interface & implementation.
Use factory instead of direct constructor.