refactored Component::off().