Is `.agent` always going to be set at this point? (I ask because the conditional right below this one checks for `if (self.agent)`)