Dynamic creation of acs_rels sounds very good, not only to relate objects within the package, but also between packages. That would be very nice.
But is the use of the parties-structure really necessary? Can't you just use object_id and map the structure with roles/types/segments without a built-in hierarchy? I'm asking this because I would like to be able to add contact information to other (non-party) objects outside this package. For example, add contact information to existing relsegs and objects like events, activities, webpages, etcetera.
I don't know how hard that will be within this package, but I believe it will be an even greater addition to the toolkit.