Barebones project structure
PropertyGroup can detect differences in files. To work on next: reporting, wrap a property into a domain object
Basic core functionality is in PropertyGroup