As a general rule of thumb, anything that callers can accomplish on their own—using only protocol methods—I'd prefer to leave _out_ of the protocol, since it's just boilerplate to implement.