Issues

Refactor internal property store code in ComponentRepository

There are many methods that work on lists of PropertyStore and lists of WeakPropertyStore. I can improve this if I make PropertyStore and WeakPropertyStore have a hierarchy, and move the logic within the loops processing said lists into methods of the store types.