blog - try something with decorator and DSL