Modify the test app to handle things as events, as well as dynamic
loading and unloading.

This is inspired by the "connection" example which uses events
to update cube connect/disconnect/reconnect as well as neighbor
events.

There's some quirky behaviour with the asset manager which I haven't
yet figured out. More to come.