Add permissionDenied callback and support for tag option