Refactored to make Log objects more portable