Modularized process execution by creating separate thread classes for
output and error