separated state and measurement prediction into their own classes