I'm fine either way here.  Should an extended object request and event from it's object that it extended?  Again, maybe the 'Changed' part of the function name is making it seem like a event, and maybe it would be better as an event.  I just wanted to make sure the rover behavior could override the function.  As long as the blockly rover behavior can get the function call, then I think the event is better.