Ниже приведён практический обзор. Также разобраны рабочие подходы, что встречаются на практике. Коротко: 2krn. Следом приведён развёрнутый комментарий. В финале приведены рекомендации, чтобы сохранить понятность. Если важно можно применить эту подачу под конкретный контекст.