New state machine library w/ same states

Same states just for commit isolation reasons. Will add more later