Towards a general theory of technological development