Courses saved in comma separated list

Refactored the persistence framework to allow more dependency injection.
Implemented persistence of data through a file.