Backend Mailbox API Feature Requirements

Current API

Here's a class diagram for the current interfaces:

Seems excessively complex

MIME Structure Strawman

Here's a strawman for MIME Structure:

Probably something simple should be enough - some recursion, a couple of interfaces plus access to mail headers, MIME meta-data and Content should be enough.

Factories, Factories and more Factories

Here's a class diagram for the current factory interfaces which create managers and mailboxes:

Again, seems excessively complex. IMHO it would be better to have a canonical mechanism for each function. Concise APIs are easier to learn and easier to implement.