Фреймвок тебя обязывать придерживаться определённой структуры приложения, а либа просто даёт тебе набор функций
Но ведь не обязывает, на самом деле. Например, я хранил модели в директории Models в Laravel, когда они ещё все размещались в app. Фреймворк лишь предлагает начальную структуру, которую разработчик волен изменить как ему угодно.