In deciding what technology to use for our API, we researched a lot of different technologies. We wanted something that followed an industry standard and at the same time was easy to use. Finally we settled on powerful hooking techniques.
Hooking is a concept in computer programming dealing with control flow. The term hooking covers a range of techniques used to alter or augment the behavior of software components by intercepting function call or messages or events passed between software components.
Thanks to this technique, you just need to create an addon, hook it to the necessary part of code and, as a result, your addon will work without affecting the core functionality.