This looks slightly different from what we have in the other branchs. I believe it should only set state to *address* if the order has shipments. Otherwise we would be setting a order in *cart* state to *address* and this code here would never fun:

```ruby
@order.next_transition.run_callbacks if @order.cart?
```