Abstract out log and log entry classes