public GherkinStep <T> Given(String message, Func <T> givenAction)
        {
            GherkinStep <T> Gherkin1 = new GherkinStep <T>(givenAction());

            Gherkin1.LogStep(string.Format(GIVEN, message));
            return(Gherkin1);
        }
        public GherkinStep <T> Given(String message, T receivedObj)
        {
            GherkinStep <T> Gherkin1 = new GherkinStep <T> (receivedObj);

            Gherkin1.LogStep(string.Format(GIVEN, message));
            return(Gherkin1);
        }