incorporate and refactor Message by XaV1Uzz and Sharpbites
now if a key is undefined in message you get undefined by XaV1Uzz and sharpbites