facepunch.libevents State machines using Action Graph. Examples https://github.com/Facepunch/sbox-libstates-examples