Well, over time I have found "keep the interface minimal" a good practice. Sometimes I am wrong about interface, but enriching it is quite easy thing. But the opposite, removing stuff from interface, is much more dangerous bussines (angry users... .
Will be fun when nDraw (which I am working on now and which changes raster image processing significantly) gets to production code