allow for promise-based attachment