first cut at KeyMapping.