Deriving from Mapping instead of dict so that the returned dictionary is read-only.