subproject : merged matchFirst with *MatchingService to let it handle
several (versioned) subproject results.
Also prevented modifying listeners when snapshotting.
Also more precise changes in facet inheritance (only if props change)