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