A history of how Firefox's add-on APIs evolved, and the challenges of exposing too many APIs: https://yoric.github.io/post/why-did-mozilla-remove-xul-addons/