Every Moose class contains a meta class which can be used for introspection.

To get a list of the package's parent classes:

$package->meta->superclasses();

To see if a class does a particular role:

$package->meta->does_role('Sellable');

To get a list of the attributes that exist in a class:

$package->meta->get_all_attributes()

This is only the tip of the ice berg of things Moose's metaclass can do.