Add coverage of Specification and refactor Inflector to a module