Might as well use the `forwardable` library to implement this, which lets you avoid hand-writing the code.  (Plus, it is a more robust implementation of the forwarding feature.)