Eseentially this is an effort in which we want to remove a lot of unecessary samples and prefabs because we don't need them that much in the samples. One script per-protocol + one script with all the misc stuff should be a good enough start.
Also, go from all public fields (which aren't being used anywhere else other than in that specific script itself) to switch to [SerializeField] private ... or [SerializeField] protected (if the field is used by the inherited classes).
Eseentially this is an effort in which we want to remove a lot of unecessary samples and prefabs because we don't need them that much in the samples. One script per-protocol + one script with all the misc stuff should be a good enough start.
Also, go from all public fields (which aren't being used anywhere else other than in that specific script itself) to switch to [SerializeField] private ... or [SerializeField] protected (if the field is used by the inherited classes).