Use event subscription instead of runner to create/destroy entities

I defined the function runOnce() to create a subscription that:
* skips the immediate callback when the property is already defined
* fires the callback only once, cancelling the subscription on first run
Publish events to trigger expected entities creation/destruction in runner

This is a temporary fix to keep the behavior expected in unit tests.
In next step, the runner module will be removed completely.
Remove runner submodule, which is no longer used

I updated the tests to fire the events "create-entities"
and "destroy-entities" instead, to take into account the
creation and destruction of entities, where appropriate.