ProxyFactory + tests