What is the correct approach?

You are correct that my original scene is not that complicated but lets say I create functionality that I would like to port to another application, it would be a lot easier if I could separate responsibilities.