I didn't want to spend too much time refactoring but yes, unless we validate keys __and__ values then there probably shouldn't be any validation (making it easier to add/rename keys while developing)