class: PackageDeliveriesTracker responsability: starting point of the program. Handles the displaying and modifying opperations of different kinds of packages. Load and store packages to json. collaborators: textMenu, PackageFactory class: textMenu responsability: Displays operations to be performed for packages. Take user input for the operations and returns the status. collaborators: PackageDeliveriesTracker, PackageInfo, class: PackageInfo responsability: define the attributes of packages. Allow for accessing and motifying fields of package info. collaborators: BookPackage, PerishablePackage, ElectronicPackage, PackageFactory class: PackageFactory responsability: initialize and return an instance of one of the package types. collaborators: BookPackage, PerishablePackage, ElectronicPackage class: BookPackage responsability: Sub class of PackageInfo. Defines the field author name and allows modification. collaborators: PackageFactory, PackageDeliveriesTracker class: PerishablePackage responsability: Sub class of PackageInfo. Defines the field expiry date and allows modification. collaborators: PackageFactory, PackageDeliveriesTracker class: ElectronicPackage responsability: Sub class of PackageInfo. Defines the field enviremental handling fee and allows modification. collaborators: PackageFactory, PackageDeliveriesTracker