Implementation of generic repository and unit of work pattern. Updated AreaRepository to use these new methods.