Haven't checked but how many times is `isExcluded()` called? May not be necessary to abstract it.