Since Mediator is an object you have to build, you can tell it to do whatever you want. Depending on what you are really trying to acomplish, there are most likely multiple ways to do it. But I would start with a few questions:
Is TSubject your Mediator or the Data Model?
Why are you using a record? Do you have to? Because I would lean towards either an array of double or a list of double pointers or possibly even a class?
In your TSubject, I assume TMember is a typo and should be TStages, or are you trying to do something else?
As for binding, that is all up to how you build your mediator. You will want to look into OnEditingDone event for TEdits as that is your easiest way to to be notified when data changes in the edit (there are other events, but I like TEditingDone).
Your mediator would then tie a specific edit to a data location (could be some if tests, could be an index to an array, could be a pointer to a double, could be a map object, could be an array of record with edit and pointer as 2 values of the record). OnEditingDone would either call the mediator diretly or you would have a list of listeners that the OnEditingEvent would call. When you change a stage value, the mediator would need to know what is changing it so it doesn't get into a circular updating cycle with the updater getting called by the mediator (though I do not think OnEditingDone will cause this but you might update the edit an extra time which is avoidable).