Refactored the manager interface to use generics, started to implement it in the manager class