Yes, I want to make similar things.
I want to keep most of the source code clean and readable.
But it should run only with a license.
I would prefer to make a big file that includes most of the classes and functions used within the entire application. I think, this is the only one file that I will encrypt it, so that the customers cannot remove the code piece that checks for the license.
Nor they cannot change the other class files and methods that are not necessary to change. While everything else works well, the application will not work without loading the encrypted file first (because this contains some libraries already essential to run the application).