Here's some stuff I did while trying to clean up the GS output path enough to understand how it worked.