Ob es elegant ist, ist wahrscheinlich Ansichtssache. Hinzukommt, dass man, wenn man mit Interfaces arbeitet auch die Sonderheiten beachten sollte, - Referenz-Counting, etc.
Das ist am Anfang schon eine gewisse Umgewöhnung. Man sollte dann generell auch nur über die Interfaces arbeiten und nicht über die Klassenobjekte, etc.
...

...