как я их реализую?
все что может быть общее вынесено в папку для компонентов, все что частное то в структуре проекта.
т.е. если мне нужно сильно кастомизировать компонент для конкретного места, я просто создаю новый, в дереве приложения, и просто кастомизирую как мне нужно, передачей параметров.