First pass at definition refactoring.  Still TODOs left before publishing.
Refactored shortcut code
shortcut refactoring
Metadata refactoring
Metadata refactoring
Metadata refactoring
Final touches before pushing to GitHub
Final touches before pushing to GitHub 2
Final touches before pushing to GitHub 3
Merged from upstream/master.