wip - basic state-machine
wip - basic state-machine