move transactions to the new TransactionWorker
refactor purchase mark method
add new_sale_package transaction