public static function get(CheckoutStepController $controller)
    {
        $list = new ArrayList();
        $steps = self::getSteps();
        foreach ($steps as $step) {
            $data = new ViewableData();
            $data->Link = $controller->Link($step);
            $data->Title = _t("CheckoutSteps.$step", ucfirst($step));
            $data->InPast = self::inPast($step, $controller);
            $data->InFuture = self::inFuture($step, $controller);
            $data->Current = self::current($step, $controller);
            $list->add($data);
        }

        return $list;
    }