re-organize source from https://github.com/esoma/event.git