Oh my. Refactored too much in one sitting, but at least there are plenty of specs now