small fix around callback wrapping and non-destructive file specs