sounds like a place where repository pattern could be applied, right?