copyAsset now calls callback when file doesn't exist