SEO: Refactoring - use promises instead of counter

This is a little refactoring to use promises instead of the awkward counter. This should be much more robust when we add functionality to this component.