Closes #2.
Supports undestroy callbacks.
Closes #1.