Fix repeating timers by not deleting the callback data
Fix memory leak by creating a destroy callback