Ended up deciding to place the actual training content in json files. Worked up an example for obedience training. All numbers were just made up, but the content is generally self-explanitary.
See the json's here.The only things that aren't obvious are that "reqs" are requirements that the girl must meet to take the training, if any. "hero" is the same but for the person training them.
Down at the bottom "rewards", "punishments" and the stats in "effects" can be set to "positive" or "negative" (or just ignored). This sets up diminishing/increasing effects to those stats based on how along the training the girl is.
For instance the obedience example is set up so at lower obedience the girl responds better to rewards at the start, but better to punishments at the end, with joy and disposition also being affected until they gain the "Broken" trait.