normalize all validate_observe/observe/perform functions

and initial (but incomplete) support for the roomba