A couple of observations on `MapNamespace` while I was working on #800 * make `Mu` and `Data` private * guard access to `Data` through a method * pass in `ExternalNotification` through the constructor method