Смотря как будет рости проект. По идее распределение по приложениям нужно для удобство и простоты разработки. То есть это нужно что бы логически понимать какая часть кода за что отвечает, и при последующих изменениях не затрагивать те модули которые не относятся к задаче. Из минусов, особых проблем не будет если проект не большой, в ином случай код просто станет огромным и трудно читаемым.
Насчёт моделей проблем не должно быть.