object StaffEmployee extends PersonRecord components: HourlyWage and EmploymentStatus; operations: ; description: (* A StaffEmployee is distinguished by HourlyWage and EmploymentStatus components. *); end StaffEmployee; object Programmer components: Salary and Step; operations: ; description: (* A Programmer is distinguished by Salary and Step components. *); end Programmer; object Manager extends PersonRecord components: Salary and Step and Supervisees; description: (* A Manager is distinguished by Salary, Step, and Supervisees components. *); end Manager; object Supervisees components: (StaffEmployee or Programmer)*; description: (* This is the list of people that a manager supervises. *); end Supervisees;