systems listen for component changes in entities and add entity if it becomes interesting
systems remove entities when components change