asynchronous adapter factory protocol