It is faster to have this in the constructor.  `args`, `keywords`, and `func` are readonly, and if anything is unhashable, the hash reverts to `None`.