Decouple Config (holding actual stuff) from a generic PropertiesHolder (handling reading from files)
Enhanced complexity types that allow us to read in complexities from a file