runner as class and smarter logging