added EventEmitter, added World events, redesigned Demo structure