Fix multiple issues in KeyNav and Widget.
Taking Bill's comments into account.
Merge branch 'master' into keynav-testing