Moved files into more sensible structure
Renamed and tidied up files further
Split into different classes to make script more modular