Listing 6: A derived PuppetIdle routine
pascal ComponentResult PTBlockyPuppetIdle(PTBLPrivateGlobals** storage,
								 UInt32 atMediaTime)
{
	ComponentResult		anError;
	anError = PuppetIdle((**storage).delegate, atMediaTime);
	for (short i = 0; i < kNumberOfNotes; i++)
	{
		if ((**storage).fNotes[i] != nil)
		{
			anError = (**storage).fNotes[i]->Idle(atMediaTime);
		}
	}
	return anError;
}