This should be a simple one.
Let's say I'm designing a very simple timeclock application. The user enters his ID, and the application shows him his hours for the week, hours for the day, and then allows him to punch in our out. It is smart enough to know whether an employee is currently punched in. No breaks or lunch or shifts or anything.
So I've got an Employee. I've got a Timecard which has multiple EventRecords. I've got a Timeclock which of course maintains the time, but is also sort of the front end to the whole model (perhaps).
Should the Employee have a Timecard, or should the Timecard reference an Employee?
Should the Timecard be responsible for calculating hours for the day, etc?
Should the Timeclock be responsible for instantiating Employees and Timecards and relating them?
Should the Timeclock do punchIn and punchOut, or should the Employee?