Add symbolic keys

@tlunter

:do_not_litter: **DO NOT MERGE YET**

Since this is going to be an enormous pull by the end, I figured I would send it out early. Let me know what you think.