indexed has to track its items else the returned shared pointer might loose its pointer when it goes out of scope. The current solution mkaes it so similar to nameditem domain that I wonder if it still has a right to exists. will revisit this