@Arnas:Good question. Those functions are defined below the return, but they are hoisted to the top since they are declared as a function declaration (e.g. a function without an explicit variable definition) .
@Yazid: You can use services/factories to share data between controllers or you can use the eventing/broadcast features to send messages. Depends what you want to do.
You can place you HTML/CSS where you want, so no need for regions. Or use bootstrap or some layout from a source like wrapbootstrap.
Angular creates controllers per instance and services/factories as shared. Which is what you'd want for these. If you want to controller more, just create an object that you can do something custom with.
@CAReed: At the beginning of all projects I first examine what the business needs and how the dev teams will support it. Then I try to much those against the technologies that are predominant. SPA works great when you want a Rich app, Reach across devices, Responsive UI (including reduce round trips(). All the R's. If those dont matter, dont do it. If you need device integration, go app.
@FJSmall:Yes, I will talk about why I chose what I did for this. I wont digress too much though as it may bore some I'l be happy to stick around after to dive deeper though. Or ask questions at the end ff my session.