Don't propagate **kw deep, that always end up in more complex and harder to read code. Define which [keyword] arguments each function receives and pass those.