An SCM abstraction layer.