Better error handling and broke out geocoding into its own model with two options of service providers

You can now choose between either yahoo or mapquest as a geocoder, just
set your choice and associated credentials in config.php