Add some state machine goodness to ctl