Ah OK, I was expecting the class name to be passed in.

However, I think you're right it is better to pass in the object as that gives the developer a chance to instantiate their custom implementation how they want/need to.

Yes, please use the constant name you suggest and please update the actual string in the .m file (the spec suggested having classname).