This is actually a little different from trout if I remember... It actually has two separate responses.  Message:CmdLickSelf if target not defined and Message:cmdLick if it is.  I plan on working on creating a single class to handle all possible options and then making each of these just pass the parameters in... Should reduce a lot of redundancy, I'd hope.. :)