private static function decodeValue($environment, $model, $property, $value)
    {
        $event = new DecodePropertyValueForWidgetEvent($environment, $model);
        $event
            ->setProperty($property)
            ->setValue($value);

        $environment->getEventDispatcher()->dispatch(\sprintf('%s', $event::NAME), $event);

        return $event->getValue();
    }