Add event parser and revised event classes, plus specs