Why does this take a class argument when it should already have a class instance variable? Seems strange to be using a ClassIndexer of one class to index a different class. It also seems like this argument is only used for generating log messages. Seems like this class needs some general attention to make sure it is sensible.