+ /** Sets the buffer to use. If prev is not null, it must use the same
+ buffer, and this object is inserted after it. */
+ void use_buffer(Buffer *buf, Bufferable *prev = 0);
+
+ /** Uploads new data into the buffer if necessary. */
+ void refresh() const { if(buffer && dirty) update_buffer(); }
+
+ AsyncUpdater *refresh_async() const;
+