Lots of our objects have relations which are defined having a start - endDate. This causes it to be tough to model our domain. for instance: an individual goes to some serie, along with a serie goes for an organisation, as well as an organisation goes to some location, ... Each one of these associations possess a start and enddate. Exactly how should we model this. Now, we keep lists that identify these relations over time, and that we constantly have to loop this list to locate a valid object on the certain date.

One possible option is to help keep the organizations out of the box, but take away the time aspect in the object and make up a separate entity that couples these object together with different time range property.

After this you can use composition to connect the objects.

For instance in case your organization were built with a property which was this "time relationship" object it might determine if it belonged to some location according to this property.

Hope this can help just a little.