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; }