Классы, пространства имен, функции?
Dependency injection гуглили?
ок, еще раз. Вот вы создали такую штуку. Напичкали в нее кучу классов. Скажем… 15. Теперь вы в коде пишите:
class A {
    callMethod('foo',|
}

Вот вы набрали функцию, и набрали даже неймспейс. Курсор у вас стоит после запятой. Что дальше? Дальше вам придется вспоминать название функции или лезть в документацию по утилите. Поскольку никакая IDE не сможет разрезолвить что вам сейчас предложить. И как быть с количеством параметров ей тоже будет не ясно. И еще вы не получите «ленивую загрузку» сходу, как это было бы при нормальной реализации.
 Если в вашем варианте есть хоть один положительный момент — подскажите, плиз. Я, наверное, слеп(