Fixed issue with importing a character. To outline the issue, when the system imports an avatar, we need to clear out the property content. This also means any UI TopComponent Observers that were added to any Observable properties have lost their 'connection' to them. This requirement was resolved by the addition of two (and later more for other ROOT type objects) new interfaces. UserInterfaceImporter<T> and AvatarUserInterfaceImporter. The latter is describing the generic argument 'T'. Now, inside the Importer action we can Lookup all AvatarUserInterfaceImporter.class service providers and invoke the configure method on them.
Starting work on the Defense section.
The reasoning for the separation of the UI Importer and it's respective Top Component is that Lookup.getDefault().find(Class<T> c); seems to return a new instance. Therefore, if I have it seperated and it looks for its particular Top Component from WindowManager.getDefault().getOpenedTopComponents() and my instance is in the returned array, I know I should call the public configure method to update the avatar configuration.