Initial refactoring to create a ScriptExecutor interface
Introduce Application class