parse and build type-safe settings object