@Override
 public void removeComponent(EntityComponent component) {
   if (components.remove(component)) {
     component.onDetached();
   }
 }