Update package comments and add Viewer interface definition.