Data mapper pattern implementation