Refactoring FileManager:
- Changed class to internal static.
- Introduced using statements.
- Changed File.Exists ? File.OpenRead : ... to single File.Open call.
More consistent use of properties instead of methods or public fields

Refactored the Controller class so it no longer contains public fields.
Also switched to using properties rather than methods here and there.
Introduced a simple repository pattern for loading and saving data files.