Put a nice face on sapphire.esd

Most functions are now private, and slightly updated some docstrings.