What is wrong with this Widget Extension?

I have created a widget extension to return a simple array, but it won't work. Here it is:

namespace LocationData
{
    public class Location
    {

        public Array GetAllCountries()
        {
            string[] countries = { "United States", "United Kingdom", "Canada"};
            return countries;
        }

    }

    public class LocationWidgetExtension : IScriptedContentFragmentExtension
    {
        #region IScriptedContentFragmentExtension Members

        public string ExtensionName
        {
            get { return "Ibby_v1_LocationData"; }
        }

        public object Extension
        {
            get { return new Location(); }
        }

        #endregion

        #region IPlugin Members

        public string Name
        {
            get { return "GetLocationData"; }
        }

        public string Description
        {
            get { return "Get Location Data"; }
        }

        public void Initialize()
        {
        }

        #endregion
    }

}

And the Velocity Script

#set ($countries = $ibby_v1_LocationData.GetAllCountries())
#foreach($country in $countries)
    <span>$country</span>
#end