cleaner callback/unlocker wrapping