Should we do this in onTypeChange so that external `Compose.type = xxx` will trigger this as well ?