Proxy all calls to an objects functions to a wrapper which returns promises