@gutopa, I've been thinking about your question and how I'd implement a solution. Please look here for what I'm thinking.