When a member is redefined in a subclass it is _replaced_, not merged. This can lead to (arguably) unexpected results when redefining members that are objects, Arrays, etc.
It's SUPER IMPORTANT to associate data with the store.
If you specify data here it is provided to the tpl, but not properly bound to the store. Unless the store knows about the data itemclick events won't work.