complete rewrite of the engine and the caching system, now uses Mutation Events correctly if available
complete rewrite of the engine and the caching system, now uses Mutation Events correctly if available

dperini/nwevents