I think you should allow to set a set of callbacks rather than only one callback (an array, `addDestructCallback`, ...), and then calling them in a chain when needed on the `__destruct` method.