tidy use of Moose: clean namespaces and make classes immutable