Whereas there seems to be a lot of information on the Internet about what the presenter both is and does, there doesn't seem to be a whole lot that specifically describes where to put it in a multi-layered architecture. My guess would have been the business layer, but very recently I read something that said the business layer should deal only in domain-/system-wide logic, not anything that's giving commands out to control a specific application's UI.
I'm not too sure what difference there would be between what a business layer deals in and what a controller/presenter deals in, other than that a controller/presenter would somewhat connect business logic with UI logic.
So, for example, if there are separate layers for UI, business, communication, and data access - or if there is any similar setup with a slightly different choice of layers that is not simply three layers for model, view, and controller themselves - where would you put a presenter class? Would it invariably go in the business layer? If you do that, do you have to go out of your way to minimize chat between it and the view interface to mitigate overhead from the layering?