Provides interfaces and no-op adapters that define services provided by the device renderer and an associated display server. A device renderer is responsible for rendering a chart on a device-specific context (e.g. an image into a JPEG file). A display server is responsible for providing device-specific metrics needed to build charts and compute preferred sizes of the various chart components.