freeze the design and re-implement in C!
  see util/event.h

more time() caching?
