Implemented the actual plugin configuration system

Also made usage easier by turning the objects into traits and mixing them into the plugin so you only have to import the plugin itself.