@jacknagel will want to kill me for this but I don't really like adding new classes just because it makes testing easier. Feel free to ignore me though (and I think having this in `software_spec.rb` would be nicer).