Refactor MultiSocket to not use ComposedAsyncOperation