Permissions UI

Among other things, fixes #482 and #450.
So yes, the question is if something can happen in the background or in parallel. In MongoDB this can happen. In the browser it cannot, if you are not using `setTimeout` and similar with a callback. In your code you are not.