added documentation and cleaned up MethodProxy