bindNoThread in conjunction with OnDataAvailable will provide users with a choice of thread to process requests on. This is useful when the user relies on single threaded message loop based design to avoid locking.