Well it mostly can be a static config - although some stuff like inputs can’t be passed in during initiation of the machine (which you can easily do yourself), but imho I also think should just work like with most other parts of the config (guards, actions etc.) One advantage of it being a json format is that you can validate/transform and pass it around with all tool available in this space and that it can easily be understood, written, extended and used everywhere (to a point) where you have a json parser. Also, i wanted to learn rust to write wasm stuff - and my idea fir learning project was a parser for Xstate to create a kind of abstract program … well didn’t get to it - but could see usefulness to having a easily portable standard to describe and mock a program between languages