I don't think it is a good idea to duplicate code to deal with this - at worst maybe just make a mod manager. But I think you've put too much into this class - I'ld suggest having the PerBlockStorageManager populated by a second class that uses mod manager. This would allow it to be manually populated for unit tests or otherwise.