I tried to combine as many of my favourite ideas from these threads as possible, while keeping the result simple. Here's the result for now: