Implement private class for textdocumentsettings.

This allow us to save the binary compatibility in futher