Uhm it may be a bit more work, but spliting payment and shipping states resolving sounds better (I'm thinking of the dependencies needed for each one, that can be different). But I don't know if it's worth it.