Adding the scripts
The RoadRaceView part needs scripts to create and add a runner and to refresh the list of runners. You can do this as follows: 
1.	Select 

 to switch to the Script Editor view of your visual part. 
 2.	Create and save the following instance method: 
recordPBClicked
   "When RecordPB is clicked, create and add a runner
    and refresh the list"
   (self subpartNamed: 'Runner Factory') createInstance.
   (self subpartNamed: 'Runners Collection') abtPerformAction: #add:
      with: (self subpartNamed: 'Runner Factory') instance.
   self refreshRunnersList.
3.	Create and ave the following instance method: 
refreshRunnersList
   "Refresh the visual list of runners every time a runner
    is added to the Runners Collection"
   | runners sortedRunners |
   runners := (self subpartNamed: 'Runners Collection')
      abtAtAttribute: #self.
   "The sortBlock orders the runners by their finishTime"
   sortedRunners := SortedCollection
      sortBlock: [:runner1 :runner2 |
         runner1 finishTime < runner2 finishTime].
   runners do: [:runner | sortedRunners add: runner].
   (self subpartNamed: 'Result List') items: sortedRunners asOrderedCollection.
Last modified date: 07/15/2020