/**
  * Create a new account with a master user
  * 
  * @static
  * @since 1.0.1
  * @param string $email
  * @param string $secret
  * @param string $display_name
  * @param array $custom_fields
  * @return string|/argent_error 
  */
 public static function account_create($email = NULL, $secret = NULL, $display_name = NULL, $custom_fields = NULL)
 {
     /* Create a new database connection */
     $db = new argent_database();
     /* Create a wsuam_error object */
     $error = new argent_error();
     $object_id = argent_identifier::object_id('ACC');
     $meta_guid = argent_identifier::meta_guid();
     $db->start_transaction();
     $sql = "\r\n                    INSERT INTO\r\n                        `ua_accounts`\r\n                    VALUES(\r\n                        '{$db->escape_value($meta_guid)}',\r\n                        '{$db->escape_value($object_id)}',\r\n                        'NEW',\r\n                        NOW(),\r\n                        'USR-TEST',\r\n                        '{$db->escape_value($_SERVER['REMOTE_ADDR'])}'\r\n                    )\r\n                    ";
     $db->query($sql);
     $account = array();
     $account['db'] =& $db;
     $account['object_id'] = $object_id;
     $usr = self::user_create($account, $email, $secret, $display_name, $custom_fields);
     if (is_a($usr, 'argent_error')) {
         $db->rollback_transaction();
         return $usr;
     }
     $db->end_transaction();
     return $object_id;
 }