This isTaskRoot() check is kinda spooky, I talked with Josh and this may be a workaround for these callbacks being called in weird, transient activities. Wish there was a comment here.