+--------------------------+
|     "disk_io_thread"     |
|  "(manages piece cache)" |
+--------------------------+
              ^
              |
              v
+--------------------------+
|     "piece_manager"      |
| "disk job fence logic"   |
+--------------------------+
              ^
              |
              v "customization point"
/----------------------------\      +-------------------+
|         "storage"          |<---->| "file_pool"       |
|                            |      | "open file cache" |
| "(maps pieces to file and" |      +-------------------+
| "offset. reads and writes" |
| "to disk)"                 |      +---------------------+
|                            |<-----+ "file_storage"      |
\----------------------------/      | "standard piece to" |
              ^                     | "file mapping"      |
              |                     +---------------------+
              v
+--------------------------+
|          "file"          |
| "(file class reads and"  |
| "writes files)"          |
+--------------------------+