Adds support for custom loggers, custom trial strings, and custom sync commands. Closes #3034, #2985, and #3390.
Adds an example page and link in codebase. Closes #2728.