private function getCallbacksResolver()
{
$resolver = new OptionsResolver();
$resolver->setDefaults(array('on' => array(), 'from' => array(), 'to' => array()));
$resolver->setRequired(array('do'));
$resolver->setAllowedTypes('on', array('string', 'array'));
$resolver->setAllowedTypes('from', array('string', 'array'));
$resolver->setAllowedTypes('to', array('string', 'array'));
$toArrayNormalizer = function (Options $options, $value) {
return (array) $value;
};
$resolver->setNormalizer('on', $toArrayNormalizer);
$resolver->setNormalizer('from', $toArrayNormalizer);
$resolver->setNormalizer('to', $toArrayNormalizer);
return $resolver;
}