How to Solve Problems - Elements of a Theory of Problems and Problem Solving