Reworked to modularize the storage plugins