Move Software related classes into software.py