This is based on the provision plugin, which relies on the caller to handle the deep free when it'd done provisioning.