to keep the reference to slot alive :(
it needs a big comment.