I'm still not convinced about the `isDynamic` function. First its name is too generic: what does a "dynamic" storage class mean ? You could rename it to "hasDynamicCredentials".
But still, I think the concept of credentials should not be included in the generic/base class of storages.

I can't think of a better solution right now so I suggest to rename all occurrences of "dynamic" to something more explicit like "hasDynamicConfig()" and "updateDynamicMountPointsConfig()".

@icewind1991 do you have any suggestions ?