Clarify the ChromaticObject interface and hide some private attributes.