cleanup: breaking cube out into it’s own controller