An important subtlety about the lifetime of hints: hints are created by the emitter of a signal, but the emitter has no way of knowing (nor should it care) how many observers will “see” the hint, nor what they will do with the information it contains. For this reason, observers of a hint cannot store any pointers or references to it - they must assume that the hint object will go out-of-scope as soon as the signal emission returns. If a hint observer needs to retain any of the data associated with a hint, it must make a copy of that data before returning.