Organized imports
Refactored action listeners so that they are serializable
Changed to not return mutable objects
Refactored to use map instead of if/else block
Changed to use enum values instead of instance of

Changed listeners to use enum values to test beans for type instead of using 'instance of' in large if/else blocks.
Simplified logic
Removed unused method
Properly handle exceptions in AetherResolveUtils
Change constant to final