Take a look at the source code for ViewModelBase. I would suggest copying code from the "Messaging Helpers" region and pasting it into a base class for your non-ViewModel classes. That should make for a cleaner separation of concerns, and you'll
have methods for receiving and sending messages through the MessageBus. Because the MessageBus is leak-proof, there's no need to cal UnRegister.