Started implementing messaging

to allow multiple viewmodels to control the keyboardmanager