Refactoring of geography stuff to make a little more clean with async
Updates to add more async functionality