A type safe client interface for SignalR in C#