implement gobble watch, change logger behaviour to use message codes rather than strings