Using a strategy pattern for accessing data