Abstract the persistance from the model

Implement a disk gateway to provide data persistance apart from the users
model.