A Distributed Event-driven Web Application Framework