@cpcloud is it acceptable to change the exception from ```KeyError``` to ```ValueError```? I will have to change the unit test for this.