You can overwrite/extend the original classes/methods without editing the files.
that's why it's important to use xenforo_model::create('model_name') to initialize the models instead of $foo = new model_name... (what your add-ons still aren't making, even it was recommended several times by shamil and other developers...)