Moved because amo and waffle form an import cycle, and putting stuff at the end of a module can resolve that sometimes (for example, this one).