Using List and Map interfaces instead of classes for better mantainability