Design and patterns

Advice on design.