expanded presenter responsibilities to improve encapsulation

turns out the previous approach actually led to tighter rather than
looser coupling between presenter and visualization layer (the latter is
not commit-ready yet) - indeed, the presenter layer is not meant to be
abstract, so this seems much more appropriate now