add guava library
new event dispatcher API