Ho creato una libreria per inviare email.
La libreria per adesso contiene solo tre file:

Logger.php
MailSender.php
Helper.php

Tali file contengono altrettante classi scritte in php (ma potrebbero essere scritte in qualunque altro linguaggio OOP).

Siccome i file sono pochi è facile intuire che MailSender.php è il file che contiene la classe principale (entry point), mentre gli altri sono dipendenze della classe principale: c'è chi li chiama servizi, classi subordinate, non so il termine esatto...

Il problema è che se vengono create nuove dipendenze (Validator.php, Outbox.php, ecc.) inizia ad essere difficile individuare l'entry point, soprattutto se la libreria verrà usata da terzi.

Quindi, oltre a creare il classico file README.md per fornire le info precise, preferirei anche disporre i file in modo intuitivo.
Cioè mettere le dipendenze in apposite sotto directory, ma come li organizzo?

MailSender/Logger.php
MailSender/Helper.php

Logging/Logger.php
Helping/Helper.php

Loggers/Logger.php
Helpers/Helper.php

Esiste qualche best pratice?