Towards a theory of service design