Subclassing Badger::Class

package Your::Class;

use Badger::Class
    uber     => 'Badger::Class',
    constant => {
        UTILS     => 'Your::Utils',
        CONSTANTS => 'Your::Constants',
    hooks    => {
        foo  => sub { ... },
        bar  => sub { ... },
Thus Spake Andy:

Badger::Class is itself designed to be subclassable so that you can easily define your own custom metaprogramming modules specific to a particular application, or to implement your own fancy import hooks for making life easy. The only thing you really need to know is that you should use the special uber hook instead of base when defining a new class module. This example defines some new values for the UTILS and CONSTANTS constants. These are used to tell Badger::Class (and it's subclasses) what modules they should delegate to when the utils and constants hooks are used. In the usual case they are forwarded to Badger::Utils and Badger::Constants, but in our subclass they'll be sent off to Your::Utils and Your::Constants instead. We also define some extra foo and bar import hooks (but skip over the internal definition for the sake of brevity).