Patterns in Model-based Design of User-Interfaces