The logic is fairly simple, but in general the changes are:
when you push a file to /symbols, the symbols will be indexed and the file will be saved as .snupkg
when you request a symbol from /symbols, the .snupkg will be returned instead of the .nupkg file
when you delete a package, the .snupkg file will also be deleted
There's of course some details to work out, but with this approach, we're not treating .snupkg files as "NuGet Packages", so they won't show up in feeds.