THE single reference to keep in mind. I wasted half a day trying to understand how to make my class compliant.

Here's the reference