Breakout StatefulFSM from FSHHarness and clean up the demo