Common application design patterns for the modern web