Abstraction over subprocess.Popen for running subprocess asynchronous