Logic moved to ContraptionGrid