I'm working on it, though it's not as straightforward. 2712dec is a good move towards that so even if we have two loops they are cleaner.