  We develop a simple and generic method to analyze randomized rumor spreading
processes in fully connected networks. In contrast to all previous works, which
heavily exploit the precise definition of the process under investigation, we
only need to understand the probability and the covariance of the events that
uninformed nodes become informed. This universality allows us to easily analyze
the classic push, pull, and push-pull protocols both in their pure version and
in several variations such as messages failing with constant probability or
nodes calling a random number of others each round. Some dynamic models can be
analyzed as well, e.g., when the network is a $G(n,p)$ random graph sampled
independently each round [Clementi et al. (ESA 2013)].
  Despite this generality, our method determines the expected rumor spreading
time precisely apart from additive constants, which is more precise than almost
all previous works. We also prove tail bounds showing that a deviation from the
expectation by more than an additive number of $r$ rounds occurs with
probability at most $\exp(-\Omega(r))$.
  We further use our method to discuss the common assumption that nodes can
answer any number of incoming calls. We observe that the restriction that only
one call can be answered leads to a significant increase of the runtime of the
push-pull protocol. In particular, the double logarithmic end phase of the
process now takes logarithmic time. This also increases the message complexity
from the asymptotically optimal $\Theta(n \log\log n)$ [Karp, Shenker,
Schindelhauer, V\"ocking (FOCS 2000)] to $\Theta(n \log n)$. We propose a
simple variation of the push-pull protocol that reverts back to the double
logarithmic end phase and thus to the $\Theta(n \log\log n)$ message
complexity.
