public static function create($closure, $execute = true) { $transaction = new self(); $transaction->callback($closure); if ($execute) { $transaction->execute(); } return $transaction; }