Added storage factory

Tucked everything away, so now if there is a change on how the storage should work, we're covered