pub trait Node {
// Required methods
fn id(&self) -> &StateID;
fn label(&self) -> &StateLabel;
fn substate(&self, label: &str) -> Option<&State>;
fn initial(&self) -> Option<&StateLabel>;
fn parent(&self) -> Option<&StateID>;
fn on_entry(&self) -> &Vec<Action>;
fn on_exit(&self) -> &Vec<Action>;
}