this is necessary, otherwise the synchronise tasks called with .apply() fail silently
... so that we can wait on tasks