アプリの起動時にConnectメソッドを使用してサーバーに接続するリスナークラスがあるとします。その後、メッセージのリッスンを開始し、受信したメッセージごとにイベントOnRecievedMessageを発生させます。これらのメッセージに基づいて、ビューモデルを更新する必要があります。ビューモデルはビューを更新します。さらに、UIをブロックしないようにするには、新しいスレッドでListen()メソッドを実行する必要があるため、イベントOnRecievedMessageもこの新しいスレッドで実行されます。
このようなクラスをWPF/MVVMアプリケーションの構造にどのように組み込み、それをviewmodelに接続する方法を教えてください。