Split the storage lib in sub-modules (this will help adding support for more storage support)