DSLs - Sentença mais clara.. idéia!

Oi pessoal,
estou estudando sobre DSLs e tive uma idéia: colocar variaveis de instância apontando para a instância em questão para melhorar a sentença, por ex:

A sentença ficou bacaninha, como pode ser visto no meu exemplo:

[code]public class ExpressionTest {

private Expression test;

private Algo ok = new Algo() {

	public void execute() {
		Assert.assertTrue(true);
		
	} };
	
private Algo error = new Algo() {
	public void execute() {
		Assert.assertTrue(false);
		
	} };



@Before
public void setUp() throws Exception {
	test = new Expression();
}

@After
public void tearDown() throws Exception {
}

@Test
public void testSeSenaoConditionWhenSeIsTrue() throws Exception {
	test.se(1 == 1)
		.entao
			.faz(ok.com.parametros("xxx"))
		.senao
			.se(true)
				.entao
					.faz(ok)
				.senao
					.faz(error);

}

@Test
public void testSeSenaoConditionWhenSeIsFalseShouldDownOnSenao() throws Exception {
	test.se(1 == 2)
		.entao
			.faz(error)
		.senao
			.faz(ok);
}

}[/code]

Sim, eu sei que neste exemplo daria para fazer coisas do tipo: senao.entao.senao.faz(… , mas isso poderia ser resolvido com um encapsulamento mais bem definido, a questão é
o que acham desta idéia? Pros X contras ?

[]s