Suggestions For Curb Template

Greetings-

I am creating a model for an urban highway using InRoads XM and MicroStation XM, but I need some suggestions on how best to proceed:

My model will contain three types of curb that each have a fixed distance for the vertical gutter depression from the lip of curb.  However, when the road is superelevated such that the curb is on the high side of the road, the gutter depression is supposed to go away and the gutterpan is supposed to match the slope of the road.  To that end, I created a curb with two components: a high and a regular.  The high component contains an uncontrained null point called CL, and the high component uses a slope-vector offset to make sure the gutterpan slope matches the slope from CL to the lip.  I then used a component display rule to dislay one or the other, based on the vertical difference between the lip and CL.  I am able to move CL in the template and see the difference.

What I plan to do is add the curb to my template, and constrain the null CL points to follow the centerline of the road, thus making my gutter slope appropriately. 

Here, though, a difficulty creeps in, and it's the basis of my question.  Since the back of curb is always a fixed distance above the flowline of the curb, and the curb flowline will vary based upon the superelevation, then I will have two possible back of curbs - high or low side - that differ in elevation.  It looks like I will now need two end conditions for my curb: one for the high side, and one for the low side.  It'd be the same end condition applied to both the high and low side, with each EC set as a child of the specific curb compnent.  Thus, the CDR for the high/low side curb will control which curb displays, and the parent/child relationship for the curb will determine the end condition display, thus allowing only one of them to solve. 

And that would be for *each side* of the road.  And I have three types of curb that do that. 

My question is: is this the best way to go about it?  Having two end conditions exactly the same seems kind of silly, and my solution also involves a combination of CDRs and P-C relationships determining which outside end condition will solve.  I don't want to do anything which might be technically okay with the software, but not considered "best practice". 

Any input is appreciated... thanks!