[Shops] Split event handling into two files: caching, protection; Additional code changes.