It integrates with the org.eclipse.debug LaunchConfiguration framework (Debug menus etc).
PythonRunActionDelegate gets called by the popup menu.
It creates LaunchShortcut, which displays the "How do you want to launch" dialog.
Finally, LaunchShortcut tells PythonLaunchConfigurationDelegate to launch the file.
PythonLaunchConfigurationDelegate passes all the parameters to PythonRunnerConfig,
and creates PythonRunner.
PythonRunner launches the executable and connects it to internal debug model.