Если оценивать композицию, можно увидеть, что эта логика не повторяется в одном шаблоне, и меняется в каждой версии. В конце собраны выводы, чтобы было проще перейти к практике. Параллельно разобраны типовые ситуации, которые встречаются на практике. Внутри используются альтернативные конструкции, чтобы в итоге снизить повторяемость.