Optionally use OutputInterface for messages back to end user