Refactor GenericDAO from a singleton to a classic object & add findAll() method