Add Signal.proxy

- returns a setter/getter style function