Moved around the recording logic to an async task.

This paradigm still needs some thought, i.e. How
     are stop / lap / reset handled?

Code compiles, but views and recording have yet to interface.