public function getGroupFor($type) {
		$groupType = $type.'Group';
		$groupTypeID = $type.'GroupID';
		
		if ($this->owner->$groupTypeID) {
			return $this->owner->$groupType();
		}

		$title = $this->owner->Email . ' ' . $type;
		$group = SimpleMemberList::get()->filter(array('Title' => $title))->first();
		if ($group && $group->exists()) {
			$this->owner->$groupTypeID = $group->ID;
			return $group;
		} else {
			$group = $this->transactionManager->runAsAdmin(function () use ($title) {
				$group = SimpleMemberList::create();
				$group->Title = $title;
				$group->write();
				return $group;
			});

			if ($group) {
				$this->owner->$groupTypeID = $group->ID;
			}
			return $group;
		}
	}