decorate callbacks with atomic done