Joomla从插件输出覆盖

Is there a way to override a component's output from a plugin? I'm aware of the concept of template overrides, but I just don't want to put the code into the template because

  1. it simply feels wrong to put the code there because it is not a feature tied to the template. In my opinion the template should only contain overrides to fit core output into the template
  2. I may want to add parameters to change behaviour (i.e. there is business logic involved and I want to keep it all together - in a plugin)
  3. I may reuse it at another webpage and obviously don't want to copy & paste the code to all the templates I use

Or are my considerations wrong and the answer is: Just keep it simple and put it into the template?

I found a tutorial about Adding custom fields to core components using a plugin in the joomla documentation where the costom fields are addet to the view with a template override - which seems odd because the rest is done in a plugin - so i assume there is no way to to an output override from a plugin?