Implement a developer friendly key-binding API

Signed-off-by: Walker Crouse <walkercrouse@hotmail.com>