Why are we changing self.dirty and self.active here?