It could. Actually usually CacheInserter instances are used as globals, so there are not many instances of them. I still prefer using an instance attribute, the cost of having separate dictionaries for separate instances is nothing and helps keeping things independent. Suppose for instance than in a test I fiddle with the dictionary of an instance, I don't want to interfer with the dictionaries of other instances.