Use stringify on_change value before using it as key
And add missing context to selection_mixin call.

When Object is used as key in an other Object, there are no distinction between
any instances. So a json string must be used to get a unique representation of
the Object.

issue3989
review6361002