Refactoring drivers so that they can be run as child processes.
Debugging child processes
Merge branch 'child_process_drivers' into develop