This separates logic for bang and non-bang versions of Spree::Order#next. The different conditions used in both methods (state == "completed" vs order.completed?) have implications in whether a transition is attempted or not.