ребят, вы всё под одну гребёнку гребёте.
Если вам нужно реализовать несколько интерфейсов, особенно когда они не из вашего пакета, тут, действительно, лучше возвращать саму реализацию
Если ваш пакет реализовывает определённый сервис с родным интферфейсом, зачем усложнять всем жизнь? Это ведь и понятнее и удобнее
Что касается приведения к другим интерфейсам, так в чём проблема?