@startuml
GameWorld -> Bomb : update(delta_time)

alt internal timer expired
Bomb --> BombLauncher : notify_exploded
Bomb --> Explosion : create
GameWorld <-- Bomb : deregister_entity

Explosion --> GameWorld : register_entity
Explosion --> Map : get_available_area_for_exploding
Explosion --> RenderingEngine : register_sprites

Bomb --> RenderingEngine : deregister_sprite

else internal timer not expired
end

@enduml