Problem/Motivation
In contrib (and even in core itself), there is a lot of boilerplate repeated when a migrate source deriver wants to add fields to an source migrate deriver for a fieldable entity. Let's make the code for discovering and adding fields generic and by creating a re-usable service. This will reduce the duplication of code copy/paste spread across all the derivers, not only in core but also in contrib.
Paragraphs and Commerce would use this. Node, user and taxonomy term in core could also.
Proposed resolution
Take a look at node source deriver, make a service and then implement it for node, user and taxonomy.
Remaining tasks
Code itRun existing tests- Commit it