A couple of minor tweaks, the most important one was to use the auto_transition method rather than the transition method, upon returning to an autonomous state.  This ensures that if a manual event comes in at that minute that the auto event wouldn't be run.