This method seems a little messy to me. It basically operates in two different ways, right? Either you give a class and a key or you give an object? Or am I misreading it?

Given the if majambo downstairs, I would maybe split it into two separate `include?` methods if that is possible (and you don't need to do if/else when you call it as a consequence)!