Does this have to be public? You could also use the `children :key, :value` construct (dslish helper from emiter base class) to created name readers.