More bookkeeping is kept in common scaler code instead of the backend. Plugins inheriting SourceScaler will have this functionality. TODO: Some new functions may still be able to be combined to simplify the API.