When I wrote implementations like this, I actually didn't bother navigating all the way from the top level since only one click is required (the start of the update will navigate to the given entity).  So I just left it as a single click.  Yeah, I know it's kinda crappy to have the navigation and then bypass it.

The nav lib could use some improvement.  For example, it will currently always navigate from the top level, even when the caller is sure of his current location.  And also it would be nice to not have to specify all the required args separately, since now a single record usually (always?) contains all the necessary info.