Decouple LedgerMaster from configuration

Pass necessary arguments into `LedgerMaster` to avoid coupling with the `Config` object. Reviews by @ximinez and @rec (welcome back!)
This line is really hard to read.  In particular, I can't even answer the question "How many parameters are there?" without actually point my finger at the screen for each parameter and counting out loud!