Free manager memory.
Returns pointer to entity.
Get new ID.
Initialize manager.
Check if entity with specified ID exist.
Optimize memory. Must be called if any ID was added and some ID will be removed.
Release ID.
Update pointer to entity. The purpose of this function is to ensure that pointer to entity is always correct.
IDManager is responsible for assignment and removing IDs. IDs are unique throughtout a whole duration of the program.