Build async support with the new commanding system, tidy up a bit