Added BackgroundProcess class for wrapping forked child processes