Javascript localStorage wrapper with Model-like architecture