Removed trailing whitespace
Major refactor, created a new class to encapsulate different option sources, created a class to handle all project properties one by one