Async style. Closes #318