refining a dsl for describing ui