Implement ChargePresenter.

Current spec status: 87 examples, 0 failures in 2.1 seconds.