public SELF $( String description, @Hidden StepFunction<? super SELF> function ) throws Exception {
        function.apply( self() );
        return self();
    }
A step method for creating ad-hoc steps using lambdas.

<h2>Example Usage</h2>
<pre>{@code 
    given().$( "Two negative arguments", stage -> {
       stage.given().argument( -5 )
            .and().argument( -6 );
    });
}</pre>

@param description the description of the step
@param function the implementation of the step in form of a function where the parameter is the stage the step is executed in
@since 0.7.1
jgiven-core/src/main/java/com/tngtech/jgiven/base/StageBase.java