Implement internal data view model and store to avoid issues with std one