LogManager must now be supplied with logger functions that do the actual work.
This is more flexible than the previous implementation.