You should call Component::HandleMessage() before other stuff here, and you should need to call update() explicitly.
Also, keep in mind that ALL components should call Component::HandleMessage() as the first thing in their HandleMessage()