Handle protobufs properly in listen() API, as well as with error messaging.