Problems exist at many levels of complexity and they can be solved in many different ways. Clever architecture often beats clever programming.