Added plugin collection implementation and interfaces and traits for plugin implementations