+                                                       ->scalarNode('group')->cannotBeEmpty()->defaultValue($defaults['class']['group'])->end()
+                                                       ->scalarNode('title')->cannotBeEmpty()->defaultValue($defaults['class']['title'])->end()
+                                                       ->scalarNode('user')->cannotBeEmpty()->defaultValue($defaults['class']['user'])->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('contact')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['contact']['name'])->end()
+                                                       ->scalarNode('mail')->cannotBeEmpty()->defaultValue($defaults['contact']['mail'])->end()
+                                                       ->scalarNode('home_name')->cannotBeEmpty()->defaultValue($defaults['contact']['home_name'])->end()
+                                                       ->arrayNode('home_args')
+                                                               ->treatNullLike($defaults['contact']['home_args'])
+                                                               ->defaultValue($defaults['contact']['home_args'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('login')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->scalarNode('template')->cannotBeEmpty()->defaultValue($defaults['login']['template'])->end()
+                                                       ->arrayNode('context')
+                                                               ->treatNullLike(array())
+                                                               ->defaultValue($defaults['login']['context'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('register')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->scalarNode('mail_template')->cannotBeEmpty()->defaultValue($defaults['register']['mail_template'])->end()
+                                                       ->arrayNode('mail_context')
+                                                               ->cannotBeEmpty()
+                                                               ->treatNullLike($defaults['register']['mail_context'])
+                                                               ->defaultValue($defaults['register']['mail_context'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                                       ->scalarNode('template')->cannotBeEmpty()->defaultValue($defaults['register']['template'])->end()
+                                                       ->arrayNode('context')
+                                                               ->treatNullLike($defaults['register']['context'])
+                                                               ->defaultValue($defaults['register']['context'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('recover')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->scalarNode('mail_template')->cannotBeEmpty()->defaultValue($defaults['recover']['mail_template'])->end()
+                                                       ->arrayNode('mail_context')
+                                                               ->cannotBeEmpty()
+                                                               ->treatNullLike($defaults['recover']['mail_context'])
+                                                               ->defaultValue($defaults['recover']['mail_context'])
+                                                               ->scalarPrototype()->end()