How I fake methods:

Code:

#define Boo_EventInit 0
#define Boo_EventFrame 1

typedef struct
{
long Event[2];
} Boo;

...

Foo->Event[Boo_EventInit] = engine_getscript( "Boo_Init");

Than, later in the code, just call:
engine_callscript4( Foo->Event[Boo_EventInit], 0, 0, 0, 0 );



You can even rename the ugly engine functions to SET and CALL.