def METHOD_NAME(cls, model_alias: str, object_type: Type[TopLevelOscalModel], args: argparse.Namespace) -> int:
    """Create a top level OSCAL object within the trestle directory, leveraging functionality in add."""
    log.set_log_level_from_args(args)
    trestle_root = args.trestle_root  # trestle root is set via command line in args. Default is cwd.
    if not trestle_root or not file_utils.is_valid_project_root(args.trestle_root):
        raise err.TrestleRootError(f'Given directory {trestle_root} is not a trestle project.')
    plural_path = ModelUtils.model_type_to_model_dir(model_alias)
    desired_model_dir = trestle_root / plural_path / args.output
    desired_model_path = desired_model_dir / (model_alias + '.' + args.extension)
    if desired_model_path.exists():
        raise err.TrestleError(f'OSCAL file to be created here: {desired_model_path} exists.')
    # Create sample model.
    sample_model = generators.generate_sample_model(object_type, include_optional=args.include_optional_fields)
    # Presuming top level level model not sure how to do the typing for this.
    sample_model.metadata.title = f'Generic {model_alias} created by trestle named {args.output}.'
    sample_model.metadata.last_modified = datetime.now().astimezone()
    sample_model.metadata.oscal_version = trestle.oscal.OSCAL_VERSION
    sample_model.metadata.version = '0.0.0'
    top_element = Element(sample_model, model_alias)
    create_action = CreatePathAction(desired_model_path.resolve(), True)
    write_action = WriteFileAction(
        desired_model_path.resolve(), top_element, FileContentType.to_content_type(desired_model_path.suffix)
    )
    # create a plan to write the directory and file.
    create_plan = Plan()
    create_plan.add_action(create_action)
    create_plan.add_action(write_action)
    create_plan.execute()
    return CmdReturnCodes.SUCCESS.value