refactor so that the specs are more localized to the classes they are specifying the behavior for.