Correto uso de constantes no namespace Gtk

Com o PHP 7, a linguagem já deu um salto incrível em recursos, e fortaleceu mais ainda a ideia de se ter padrões, como o PSR. Esses padrões devem estar em conformidade, não todo, ele mesmo diz isso, mas deve se ter o conhecimento destes padrões, para um desenvolvimento limpo e claro para futuras manutenções. Dito isso, como fica o PHP-GTK 3?

Dia 04 de Julho deste ano foi feita uma pesquisa no Twitter, com 226 votos, dando o resultado do uso do Gtk como uma namespace. Assim, conseguiremos atingir um patar de outras linguagens para desktop. Imagine a situação:
<?php

// Create a css provider
$css_provider = new GtkCssProvider();
$ret = $css_provider->load_from_data("
 stackswitcher button {
 border-radius: 0;
 background: #ffffff;
 border: none;
 border-bottom: 1px #dfdfdf solid;
 padding: 10px 0;
 }

 stackswitcher button:checked {
 background: #DADBFF;
 }

 stackswitcher button:focus {
 border: none;
 outline: none;
 }

 scrollbar,
 scrollbar * {
 min-width: 8px;
 min-height: 8px;
 padding: 0;
 margin: 0;
 border: 0;
 border-radius: 0;
 }

 scrollbar slider {
 background: #B3B5E0;
 }
");

if(!$ret) {
 die("Css Error\n");
}

$style = new GtkStyleContext();
$style->add_provider_for_screen($css_provider, 600);

// 
$win = new GtkWindow();

$switcher = new GtkStackSwitcher();

$scroll = new GtkScrolledWindow();
$scroll->add($switcher);
$scroll->set_policy(GtkPolicyType::AUTOMATIC, GtkPolicyType::AUTOMATIC);

$stack = new GtkStack();
$switcher->set_stack($stack);
$switcher->set_can_focus(FALSE);
$switcher->set_can_default(FALSE);
$switcher->set_orientation(GtkOrientation::VERTICAL);

$paned = new GtkPaned(GtkOrientation::HORIZONTAL);
$paned->add1($scroll);
$paned->add2($stack);

$stack->add_titled(new GtkLabel("teste1"), "teste1", "teste1");

$win->add($paned);

$win->connect("destroy", ["Gtk", "main_quit"]);
$win->set_size_request(800, 500);
$win->show_all();
$paned->set_position(240);

Gtk::main();
Complexo compreender tudo isso né? Claro que você pode pensar que não, que é simples entender, mas isso pode ocorrer por que talvez você já esteja habituado com o código, ou você consegue prestar mais atenção nos detalhes.

Dai entra o namespace.

Neste mesmo exemplo, poderíamos dividir as tarefas, de forma que tudo fique organizado dentro do mesmo namespace. Poderiamos trabalhar da forma como está, algo assim:
<?php

namespace myapp;

// 
$win = new \GtkWindow();

$switcher = new \GtkStackSwitcher();

$scroll = new \GtkScrolledWindow();
$scroll->add($switcher);

$stack = new \GtkStack();
$switcher->set_stack($stack);

$paned = new \GtkPaned(\GtkOrientation::HORIZONTAL);
$paned->add1($scroll);
$paned->add2($stack);

$stack->add_titled(new GtkLabel("teste1"), "teste1", "teste1");

$win->add($paned);

$win->connect("destroy", ["Gtk", "main_quit"]);
$win->set_size_request(800, 500);
$win->show_all();
$paned->set_position(240);

\Gtk::main();
Mas isso não faz parte do conceito de namespaces. Então ficou definida na pesquisa que trabalharemos algo assim:
<?php

namespace myapp;

// 
$win = new \Gtk\Window();

$switcher = new \Gtk\StackSwitcher();

$scroll = new \Gtk\ScrolledWindow();
$scroll->add($switcher);

$stack = new \Gtk\Stack();
$switcher->set_stack($stack);

$paned = new \Gtk\Paned(\GtkOrientation::HORIZONTAL);
$paned->add1($scroll);
$paned->add2($stack);

$stack->add_titled(new \Gtk\Label("teste1"), "teste1", "teste1");

$win->add($paned);

$win->connect("destroy", ["Gtk", "main_quit"]);
$win->set_size_request(800, 500);
$win->show_all();
$paned->set_position(240);

\Gtk::main();
Notou como a organização é limpa? Window do namespace Gtk. Isso abre porta para novas libs como Fabula, que poderia trabalhar sem nenhum conflito:
$win = new \Fabula\Window();
A duvida agora é com relação às constantes. No PHP-GTK 1 e 2, as constantes ficavam todas referenciadas na classe Gtk e Gdk. Já o PHP-GTK 3 foi escrito o mais proximo do GTK++, fazendo com que as contanstantes estejam dentro de suas proprias estruturas,  como por exemplo GtkOrientation
GtkOrientation::VERTICAL
GtkOrientation::HORIZONTAL
Quando trabalharmos com namespace, qual seria mais conveniente:

Manter da forma como está
\GtkOrientation::VERTICAL
\GtkOrientation::HORIZONTAL
Adicionar tudo dentro do Gtk
\Gtk::ORIENTATION_VERTICAL
\Gtk::ORIENTATION_HORIZONTAL
Manter uma unica constante
\GTK_ORIENTATION_VERTICAL
\GTK_ORIENTATION_HORIZONTAL
Ou criar classes separadas como o PSR dita
\Gtk\Orientation::VERTICAL
\Gtk\Orientation::HORIZONTAL
Responde lá, você faz parte disso

https://twitter.com/ScornInPC/status/1151946275924979713