I guess no one has any concrete ideas?

For the time being I'll just do these:

~OnUpdate()
~OnDraw()
~OnPigeonRaid()

The tricky one is going to get Link right at some point. Perhaps we might try and come up with a spec for how Link would work if scripters want to have control over various Link stuff.