Doesn't it make more sense for the rest of my class to not have to be concerned about the special behavior of setDelegate? Thats why I implemented the custom logic there