You've worked hard so far, and now your solution has finished moving from the old C/AL to the new extension's architecture. Now, a common business scenario occurs when you sell your solution to a customer: they want some specific customizations of your solution to satisfy their particular business needs. Here, we immediately have a problem: how can you handle customizations for your customers?
The extension model has some rules, and you need to absolutely avoid the situation represented in the following diagram:
In the preceding diagram, we can see that EXT BASE is the standard solution and its base code is modified for every customer that acquires the solution.
You don't need to directly customize your extension code for every customer you have. Forking your solution's base code is absolutely a bad practice...