refactor(reporter): allow plugins to extend base reporter