If you're using Moose you owe it to yourself to take a look at MooseX::AttributeHelpers. It will further reduce the amount of you write, and gives you a pony! The documentation is a bit scattered, but good enough.
The documentation is a bit strange, the functions are documented in the Method Provider classes, but this is the single most useful MooseX package I think we have. It makes writing a quick and dirty API around a HashRef or ArrayRef incredibly simple and straight forward. This complements Moose::Autobox by being rather exactly the inverse principle (making an API for others to consume vs Autobox's make an API for you to consume).