I've been trying for ages to come up with something like this. Who knew it already existed?