Ian Griffiths writes about async operations. It's exactly what I did for version 2.0 of Xceed FTP for .NET, to support an async interface through the AsyncFtpClient class. The I/O engine was completely revised.