An account, from a user perspective, represents an account in one or the other service e.g. my kolabnow or google account. This typically entails at least a few different protocols e.g. imap, ldap and smtp and may hold various other information related to the account, such as identities or crypto information.
While this is bundled for the user as a single "thing". Code wise a variety of things are involved. So the question is pretty much "what goes where".
Sink is the abstraction layer that we use for remote storage, we configure imap access through it an access the data from the imap server via Sink.
It is not clear whether it would also be useful to use Sink as abstraction layer for other generalized mechanisms, such as mailtransport (smtp).
On one hand the API for sending mails could be rather different, on the other hand we need similar interfaces to i.e. see pending messages.
Simliar considerations can be made for things like ldap and probably many more.