And to follow on from Charlieman, say for example you are writing a new fandangled PPP implementation. Don't write to the SCC yourself, use the CommsToolbox way of locating serial drivers to provide the actual stream, but you do your fancy PPP thing. Eg you build properly layered device drivers.
If you are thinking of writing a device driver, first think what kind of device is it, eg block, video, stream or whatever then choose the appropriate way of delivering your implementation. If you choose correctly then any other application will be able to use your device as if it was part of the operating system.