Типичным поведением является создание подкласса для существующего компонента, главным образом потому, что большая часть работы по реализации функциональности стольких наиболее типичных компонентов уже выполнена для вас - вам просто нужно знать, какой компонент больше всего похож тот, который вы хотите создать. (Сам по себе вызов, учитывая, сколько их.)
Если вам нравится, вы можете создать довольно простой UIComponent "с нуля", просто расширив UIComponent (который даст вам все базовые вещи), или, я полагаю, если вы действительно идет в минимализме, и вы готовы принять вызов, вы можете просто реализовать IUIComponent и определить каждый метод интерфейса вручную. Если вы решите пойти по второму пути, сделайте себе одолжение и сначала прослушайте этот доклад - это подробное обсуждение архитектуры компонентов Flex, которое дал один из инженеров команды Flex. , Я рекомендую это часто и очень; это превосходно, и он проясняет ряд деталей разработки компонентов, которые все еще не так хорошо документированы. Чрезвычайно ценный материал, если вы собираетесь создавать нетривиальные пользовательские компоненты того типа, который вы описываете.
Надеюсь, это поможет. Удачи!