reworked "idObject" implementation to "KeyedObject", with KeyType wrapper for keys.