It doesn't get object itself as an argument. As a result, instead of multiple objects (spaces, faces) sharing a link to the same function, every object has to have it's own copy of the function (bound to itself), which is a waste of RAM.
It's word argument may pass any kind of word, which complicates switch statement often used there:
Current object/on-change* has two issues:
word
argument may pass any kind of word, which complicatesswitch
statement often used there: