Spec cleanup/reorganization
Created by: rspeicher
Part of my ongoing quest to reduce duplication and organize things a bit more.
These were all part of another branch of mine where I was cleaning up the Factories, but that branch got so big with so many changes I decided to break it up into smaller parts. These will all apply pretty easily to current master.