Automatically marking entity changed when a component is added or removed to an active entity. Changing the added/removed/changed... containers from arrays to sets, to make sure that entities don't get processed multiple times.