I think if you want something _really_ general then the interactive learning is the right way, but maybe it can't really be model-based, because those models are usually actually pretty specific to the domain like in the example with the blocks.<p>So if its based on a model it might be a very general type of model like a physics simulation, or maybe to get completely general you just have to break things down into granular (perhaps virtual) sense inputs, motor outputs, time and series. And then to handle real-world complexity you might need something like a neural network.