First cut at DSL model rules taking inputs.

 +review