This is much improved version of class StateMachine used in CPU::CPU_I8086 emulation code, and may replace that one in the future.
Should I add support for deletion of states? This is possible, but may create mess in the table if deletion is performed:
- Any rows below deleted ones will change their IDs (they will be decreased by 1).
- Any rows referencing the deleted row become orphan(?). What should I do with them?
- Any rows referencing rows below the deleted one would need to be relocated.