Because it couples things together more without increasing readability, which makes unit testing the function annoying. In general, I try to do as little `self` access in a class methods as possible, if I can get away with it. That's double-true if it's a function called on __init__