Kashif Imran - 2012-08-05

This requires a lot of thought to implement. Some more changes are underway, which may collide with this. Let's postpone it for a few days. We will need more discussion after other few things have settled down so as to properly integrate the solution.