The following events will be triggered by the application when dealing with artifacts

- `NewInstance[klass, type, instance]` - when a new artifact is created.
- `LoadAddonsStart[app]` - before any addons are initialized, during the Initialize phase.
- `LoadAddonsEnd[app, addons]` - after all addons have been initialized, during the Initialize phase. `addons` is a Map of <name, instance> pairs.
- `LoadAddonStart[name, addon, app]` - before an addon is initialized, during the Initialize phase.
- `LoadAddonEnd[name, addon, app]` - after an addon has been initialized, during the Initialize phase.

These events will be triggered when dealing with MVC groups

- `InitializeMVCGroup[configuration, group]` - when a new MVC group is initialized. `configuration` is of type MVCGroupConfiguration; `group` is of type MVCGroup.
- `CreateMVCGroup[group]` - when a new MVC group is created. `configuration` is of type MVCGroupConfiguration; `group` is of type MVCGroup.
- `DestroyMVCGroup[group]` - when an MVC group is destroyed. `group` is of type MVCGroup.