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;
 }