You could move some of the preparation work into the constructor, so that repeated invocations are faster. This is of even more use in master with `bind(newReciever)`. Similar changes could be made in the other mirrors. But it's okay with me if you defer this change to a new ticket.