Assembly Caching

I tried to work it into the existing structure, but feel free to just scavenge from this if you prefer to organize it differently.