Use the reader monad everywhere