The plugin architecture was developed to create a collaborative software environment where an application can be created from the collection of different, reusable components that don't rely on one another but can still be assembled dynamically using these components