[x] Querys are cached (no need to revisit everything when a query on the same components in instantiated), and are updated automatically (i.e. new archetypes matching the query are added automatically to existing queries).
[x] Ability to iterate over all matching entities, taking the components only.
[x] Ability to register listener for entity added and entity removed.
Required features:
entity added
andentity removed
.