Completely rely on mayDelete for delete check instead of check permission to 'Delete objects' + mayDelete.  mayDelete default implementation is the 'Delete objects' permission check