The way people work with 2D images will soon change dramatically.
Fonts now consist of font objects, which in turn consist of an actual system font plus attributes.
Now, most extended capabilities are done through objects. For example, to install a gradient fill, an object implements providing a color source in a gradient pattern, and you install that object in a graphics class. For rendering, you'll be able to use extensible paths. These paths can include any kind of primitive you want because the path is an interface. Extensible coordinate transformations are also provided, including a Bezier path.