Might be cool to make this a `frozendict` to avoid accidental modification.