Now Generates Events! and caches them for incase of reload