int kit_object::operator()() {
event* e = _event;
vm<kit> self(e); // smart pointer
string method = e->_method();
if (method == "kit") { // constructor
kit* q = new kit(e->arg(1));
_register(q);
result( reference((void*)q) );
} else if (method == "eval") {
long res = self->eval(e->arg(1));
result( itoa(res) );
} else if (method == "result") {
char* res = self->result( atoi(e->arg(1)) );
result(res);
} else { // dispatch up in the hierarchy
return handler_object::operator()();
}
return 0;
}