Abstract
Called when the component is added to an entity
Called when the component is removed or entity is destroyed
Called when the owning entity is recycled from a pool. Reset internal state to defaults.
Called every frame
Called when the component is added to an entity