[State machine] Improve things drastically

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | yes
| Deprecations? | no
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

I'll use this PR to improve little by little our workflow thanks to the state machine.

As a starter, you can enjoy what is possible to do already.
The aim is to get rid of all classic Order/Shipment/etc events by replacing them with callbacks or events on the state machine.

(This PR needs https://github.com/yohang/Finite/pull/33 and https://github.com/yohang/Finite/pull/34 to be merged first)