add destroyability and callback functionality for wipe()