cache and compile selector beforehand in EventContext.live