Serve APIs returning & consuming observable streams over WebSockets using .NET