public Do Run( string input, AlchemyController controller, ICommunicator communicator )
 {
     string elementname = input.TrimStart( '*' );
     if( controller.ElementExists( elementname ) )
         controller.ForeachNonterminalElement( ( e ) => controller.ReportChangedRule( new Rule( new[] { elementname, e.Name } ) ) );
     return Do.AnotherRule;
 }