Expose logger property

Logger can be be omitted without defaulting to console. The logger can be set to a new value at any time.