More helpful logging messages - move generation instead toString methods