introduce the new KeyValuecContainer object to prevent adders and removers from being called
made mapping to a KeyValueContainer object optional (and false by default)