Application extensibility has always been a strong feature from the initial origins of Microsoft Dynamics 365 for Finance and Supply Chain Management. What was Axapta that later became Dynamics AX. It had a clever layer system to isolate modifications between development parties. When editing a standard object, such as a class, the element being changed (such as a method) would be copied to the developer's current layer where it was modified. The compiler would look down from the top layer (from the USR, VAR, and ISV through to the base SYS layer) to build the solution. This made upgrades much simpler and carried a lower risk than its peers. When coupled with a very advanced development environment, the cost of implementation and maintenance was a major selling point of the system.
Despite all of this advanced technology, some customers still found...