I would keep it lean. You'll often find that if you load the presenters with business logic, you'll end up duplicating code. As soon as you find yourself doing this, move it down a layer into the business logic.
I tend to keep business operations on entities outside of the presenter as a rule of thumb.
e.g.
void view_Credit(object sender, EventArgs e)
{
this.accountService.Credit(this.view.AccountId, this.view.AmountOfCredit);
}
rather than:
void view_Save(object sender, EventArgs e)
{
Account a = this.accountService.GetByAccountId(this.view.AccountId);
a.Balance += this.view.AmountOfCredit;
a.DateUpdated = DateTime.Now;
// lots of other business logic before you can save...
this.accountService.Save(a);
}
I'm also not a big fan of passing entities through to the view, but that maybe is just a personal choice.