Hi, I must agree with Thomas. >From my point of view public methods are no not so a problem. I would prefere public Methods over complexity. I think the use of Interfaces is the best way and if someone wants to use internals he will find a way ... (reflection ..) Information and documentation would be better than complex structures to hide internal classes.
greets claus