Generic storage API + redis + shelve support