Decentralized IM client in C# using WPF