Статические методы, переменные это тоже самое, что и GLOBAL, и воняет оно абсолютно также. И к ООП это не имеет отношения — это процедурное программирование.
Если хотите именно ООП, делайте как принято в ООП — передавайте объект (dependency injection) или используйте трейт, его можно просто use и всё.
И учитывайте — если объект нужен везде, просто потому, что у него много разных методов, то нужно проверить, одну ли ответственность выполняет этот объект (читайте про SOLID и принцип единой ответственности).