Theory-driven evaluation of public health programmes