extracted the generic error handling processing into a separate view model and added the ability to share error messages using html