Como posso adicionar dados aos objetos do Moose de maneira flexível?

Estou escrevendo um módulo para um objeto alce. Gostaria de permitir que um usuário que use esse objeto (ou eu ...) adicione alguns campos em tempo real, conforme desejar. Não posso definir esses campos a priori, pois simplesmente não sei o que serão.

No momento, simplesmente adicionei um único campo chamado extra do tipo hashref, que está definido comorw, para que os usuários possam simplesmente colocar coisas nesse hash:

# $obj is a ref to my Moose object    
$obj->extra()->{new_thingie}="abc123"; # adds some arbitrary stuff to the object
say $obj->extra()->{new_thingie};

Isso funciona. Mas ... isso é uma prática comum? Alguma outra idéia (possivelmente mais elegante)?

Nota: Eu não desejo criar outro módulo que estenda este, realmente apenas para coisas on-the-fly que eu gostaria de adicionar.

questionAnswers(4)

yourAnswerToTheQuestion