Might be good to say what has populated the metadata? I assume it's meant to be the routing table router? Perhaps we should raise a suitable error if its not populated? Can the same change be made for GoApplicationMixin?