I believe similar ideas have already been suggested... Adding tags and defining which movement behaviors respond to other objects with the Solid behavior. So, my apologies if this is a repeat - it wasn't meant to be.
My idea involves allowing specific objects (or object instances) to be selectively affected by other objects that have the Solid behavior active.
For instance, I have two characters - the main character and a bunch of baddies - that are confined to their environment by various walls. Both character types respond to the Solid behavior in the wall objects normally. But I have to create a separate object to define specific boundaries that the baddies cannot venture past. Instead, it would prove a bit more conducive if I could create another object with the Solid behavior that only the baddies would be affected by, but not the main character who could pass through the boundary as if it weren't even there.
Although I figure tags could be useful, at the very least a list for each object that has the Solid behavior could be created to define which objects ignore the Solid behavior upon collision/overlap. Any object not on that list will react to the Solid behavior as normal.
Suggested actions (for the object with the Solid behavior):
I'm sure you can work out a viable way to make this work. Along with the suggestions from others with a similar idea, I hope this helps you all make C3 even better.