class'ify demostreamparser for better GC handling, extract some user events