Один из популярных шаблонов сопутствующих объектов следующий:
class Abc {
...
}
object Abc {
def apply(): Abc = new Abc()
}
Поэтому вместо записи
val abc: Abc = new Abc()
мы можем просто написать
val abc: Abc = Abc()
Но если всевам нужен только один объект, я думаю, нет ничего плохого в том, что только один объект.
Не забывайте, что объект-компаньон - лучшее место для размещения ваших implicit
s.