Huge refactor

Cleaned up bug with obfuscation so it doesn't replace already replaced
words.
Added additional properties to the MessageModel object.