Refactored the cached DAO impl