The mode can change based on the use case. You could have a UI element switch the select mode or select mode is different based on a specific criteria. Having it as an attribute allows it to be updated through the api per instance.