Then adding a `protected static $contacts = array();` to the plugin and changing the `getContactID` function to
````
		if (isset(self::$contacts[$created_by]))
		{
			return self::$contacts[$created_by];
		}

		$db = JFactory::getDbo();
		$query = $db->getQuery(true);

		$query->select('MAX(contact.id) AS contactid');
		$query->from('#__contact_details AS contact');
		$query->where('contact.published = 1');
		$query->where('contact.user_id = ' . (int) $created_by);

		if (JLanguageMultilang::isEnabled() == 1)
		{
			$query->where('(contact.language in '
				. '(' . $db->quote(JFactory::getLanguage()->getTag()) . ',' . $db->quote('*') . ') '
				. ' OR contact.language IS NULL)');
		}

		$db->setQuery($query);

		$contact = $db->loadResult();
		self::$contacts[$created_by] = $contact;

		return $contact;
````
is it then. Or is there a better way?