Engine & Flow can take additional 'default' states

This enables plugins to be passed in by client applications.

Same here, `state_1` is more of `key_1`, right? I don't think Smartdown has a strong naming convention for things _in_ a state, but we shouldn't confuse them with a state itself.