Maybe this can help more Nested Forms and Associations in Phoenix 1.4.
Also from my point of view a separation of concerns can be a good thing and creates more readable code.
One question that is essential from my perspective is:
Is your code easy to manage and maintain?
If yes then continue using your method if not try something else.