Refactoring a method picker class
<p>I'm working on some existing code.  After a few hours, I've boiled this problem down to a method picker class.  I find this class to be difficult to follow.  Is it possible to achieve this type of method picking functionality in a simple way?</p>

<pre><code>public class MethodPicker
    {
        private delegate string SomeFunc(MethodPicker item);

        static readonly Dictionary&lt;string, SomeFunc&gt; test = new Dictionary&lt;string, SomeFunc&gt;();

        static MethodPicker()
        {
            test.Add("key1", Func1);
            test.Add("key2", Func2);
            test.Add("key3", Func3);
        }

        public string RunTest(string Name)
        {
            string somestring = test[Name].Invoke(this);
            return somestring;
        }

        public static string Func1(MethodPicker entity)
        {
            return "func1 runs";
        }

        public static string Func2(MethodPicker entity)
        {
            return "func2 runs";
        }

        public static string Func3(MethodPicker entity)
        {
            return "func3 runs";
        }
    }
</code></pre>
