static public function humanList(array $list, $decorator = null, $lastItemSeperator = 'and') {
        $listCount = count($list);
        if ($listCount === 1) {
            return $decorator . current($list) . $decorator;
        } elseif ($listCount === 2) {
            return $decorator . implode(
                $decorator . " {$lastItemSeperator} " . $decorator, $list
            ) . $decorator;
        } elseif ($listCount > 2) {
            $last = array_pop($list);
            return $decorator . implode(
                $decorator . ", " . $decorator, $list
            ) . $decorator . " {$lastItemSeperator} " . $decorator . $last . $decorator;
        }
    }