Fixing review issues:

* removed duplication between the Pool and Software models
* refactoring tests accordingly