Added enabled flag to components. Components which need to react to changes should implement EnabledChanged