Making Protocols Async