Sorry, i'm speaking from a coding prospective.
It's hard to explain object and class types, but basically, when one thing in the game, champion, minion, tower, monster, abilities in some cases, does something to another champion, minion, exc.
Riot controls what information is being passed and received between the two in the "interaction". This is probably why their death ~~crap ~~ cap (lul i actually typed crap by accident) system is the way it is, because they were inconsistent in what kind of data were able to receive or sent from different types of objects.
In fact, this is probably how they define an ability to be a "projectile" when it comes to things like yasuo windwall or braum wall. If the data is coming from a champion object, then it's not blocked, but if it's coming from an independent ability object, then the ability is deleted or w/e.
They probably class things like AOE spells differently.