public function getFieldSource() {
		if(is_callable(self::$field_source)) {
			$fields = call_user_func(self::$field_source, $this);
			if(!$fields instanceof FieldList) {
				throw new InvalidArgumentException('Field source must be callable and return a FieldList');
			}
			return $fields;
		}
		return new FieldList(singleton('Member')->getCMSFields()->dataFields());
	}