From the design abstract:

> Where it is up to the actual FS implementation how it handles namespace partitioning based on the Bucket information.

In my understanding Buckets are logical partitioning. It is used as an intermediary to separate the concerns. Where the `Provider` is solely concerned with the management of Buckets independently of of the location of that information and the FS used. Given that it doesn't appear to me why to nest the hierarchy.

Maybe you could help me understand how it could be structured differently to minimise the surprise here. 

```
+--------------+                     +------------+
| PROVIDER     |                     | FS         |
|              |                     |            |
|   ---------- |                     |   -------- |
|   | Bucket | |      --------       |   | File | |
|   ---------- | -----|Bucket|-----> |   -------- |
|   | Bucket | |      --------       |   | File | |
|   ---------- |                     |   -------- |
|   | ...    | |                     |   | ...  | |
+--------------+                     +------------+
```