WebDSL: A Case Study in Domain-Specific Language Engineering