Implement proper Structure.publish() method.

The previous "implementation" was caused by the wrong
understanding of the subject.