This is not likely a performance vector, but it's faster to do a breaking for loop than call `Y.Object.size(targets)`. Also, if 0, you can assign the `this._yuievt.targets = null;`, which can serve as `hasTargets` using the truthy object or falsy null. But that would take more code investigation to see who's using `hasTargets`. Maybe worth it?