Refactored Installer adapter with a base class, refactored Component adapter and added plugin adapter