Async rpc

api for discussion + needs some docstrings