IRC: cache plugin commands
wrap callbacks in consuming class, not Role.pm