-                                                                       ->scalarNode('url_name')->isRequired()->defaultValue($defaults['recover']['url_name'])->end()
-                                                                       ->arrayNode('url_args')
-                                                                               ->isRequired()
-                                                                               ->treatNullLike($defaults['recover']['url_args'])
-                                                                               ->defaultValue($defaults['recover']['url_args'])
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('mail')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('subject')->cannotBeEmpty()->defaultValue($defaults['recover_mail']['mail']['subject'])->end()
+                                                                       ->scalarNode('html')->cannotBeEmpty()->defaultValue($defaults['recover_mail']['mail']['html'])->end()
+                                                                       ->scalarNode('text')->cannotBeEmpty()->defaultValue($defaults['recover_mail']['mail']['text'])->end()
+                                                                       ->arrayNode('route')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['recover_mail']['mail']['route'])
+                                                                               ->scalarPrototype()->end()
+                                                                       ->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['recover_mail']['mail']['context'])
+                                                                               ->scalarPrototype()->end()
+                                                                       ->end()
+                                                               ->end()
+                                                       ->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('register')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->arrayNode('view')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('form')->cannotBeEmpty()->defaultValue($defaults['register']['view']['form'])->end()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['register']['view']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['register']['view']['context'])
+                                                                               ->scalarPrototype()->end()
+                                                                       ->end()
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('mail')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('subject')->cannotBeEmpty()->defaultValue($defaults['register']['mail']['subject'])->end()
+                                                                       ->scalarNode('html')->cannotBeEmpty()->defaultValue($defaults['register']['mail']['html'])->end()
+                                                                       ->scalarNode('text')->cannotBeEmpty()->defaultValue($defaults['register']['mail']['text'])->end()
+                                                                       ->arrayNode('route')
+                                                                               ->treatNullLike(array())
+                                                                               ->defaultValue($defaults['register']['mail']['route'])