Many navigation fixes, provider creation

* Nav tree internals are not pretty
** Trade off between literal page layout in python and easy to
   understand classes, went with literal page layout
* Provider seems to be a pretty good representation of how all the
  automation would work (assuming the design works for everyone)