preserve state names instead of indexes
set and check functions for default states in directive
promises and delayed transitions
transitions via directives; improved creation and registry of state trackers