public static CommandProxy Create(Type type)
        {
            var generator = new ProxyGenerator();
            var interceptor = new CountingInterceptor();

            var proxy = generator.CreateInterfaceProxyWithoutTarget(type, interceptor);

            return new CommandProxy(interceptor, proxy);
        }
 public CommandProxy(CountingInterceptor interceptor, object proxy)
 {
     Proxy = proxy;
     Interceptor = interceptor;
 }
 private ObserverProxy(CountingInterceptor interceptor, object proxy)
 {
     Proxy = proxy;
     Interceptor = interceptor;
 }