@foopang Looks like [the only place triggering this event is `releaseInventoryAction()`](https://github.com/Sylius/Sylius/blob/9d43d8928c95d669d98c480b6a53ed72d17dbff6/src/Sylius/Bundle/CoreBundle/Controller/OrderController.php#L58-L69). I bet we better create a new `OrderReleaseListener`, and inject the `ExpiredOrdersReleaser` service to this listener.

And the `release` method in `ExpiredOrdersReleaser` should accept an `Order` object.

```php
public function releaseOrder(GenericEvent $event) 
{
    $order = $event->getSubject();
    // check $order instanceof OrderInterface
    $this->releaser->release($order);
}
```