I added a notion of cleaning up after the annotation apply check. When we do the uninstall of the bean, we check if there are some annotations present that need cleaning up.
In order for an annotation to be applied for a cleanup check, that annotation must be marked with @Cleanup meta annotation. If we want that annotation is only used for cleanup, not for the apply phase, we can mark it with @CleanupOnly meta annotation.
This notion was needed for the @Aliases annotation plugin to be symmetric, since it's the only one that acts directly on the Controller(Context), and not on the BeanMetaData.