Add recursive deletion to asynchronous `delete`
Add recursive creation to asynchronous `create`