This will require changes to a couple parts of the code and probably inspire some appropriate convenience abstractions. It should also be postponed until more basic functionality is achieved. Still, there's no doubt it's going to be an important feature in the final product.