facade pattern def generate_number(self)rand random randint( return "{}{}fomat(self timestamprandclass invoiceline(object)def __init__(selfline_item)turn line item into an invoice line containing the current price etc pass def save(self)save invoice line to persistent storage pass class receipt(object)def __init__(selfinvoicepayment_type)self invoice invoice self customer invoice customer self payment_type payment_type pass def save(self)save receipt to persistent storage pass class item(object)def __init__(self)pass @classmethod def fetch(clsitem_barcode)fetch item from persistent storage pass def save(self)save item to persistent storage pass