Joining a WorkRequest now ensures that either the after callback has already been executed, or will never be executed. Fixes #1438