Okay, forget what I just said in the comment about hasPermission.
Sponge uses an interface called Subject as the base for all objects that can have permissions. There are two types of subjects: permissibles and permission holders.
Permissibles are subjects such as Player, who hold permissions but are not specific to a particular permissions plugin. Permissibles simply look up a permission holder and delegate all the Subject methods to it. In your case, you do not write these.
Permission holders are Subjects that are provided by a particular PermissionService and do the real work. In your case, you do write these. However, to be able to provide these to permissibles, you need to write a new PermissionService.
Be aware that Sponge can only have one PermissionService active at a time.