Been using this lib for a little bit now and have found that having a CommandSender need to provide its groups and handle its hasPermission is a little cumbersome and doesn't make sense. CommandSender simply sends a command.
At most I'd say CommandSender needs only the hasPermission and that's it.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.