Darren - Can you explain a bit more? Do you have a single campaign running that looks for ALL programs? Or do you have a scoring campaign per program? I don't really understand how you're using the token unless you have one campaign per program.
In general I think this is overkill, unless you're going to say..
Webinar A = +20
Webinar B = +15
Webinar C = +18
If all of your webinars are going to have the same score, then you should just make a single campaign, if Program's New Status = Webinar Attended, then flow = Change Score + 20.