Split apart distinct APIs for model-level behavior and application-level usage.
