async def METHOD_NAME(self, sub):
    print("Running Mission")
    # Call actual mission
    start_time = self.nh.get_time()
    try:
        resp = await axros.util.wrap_timeout(
            missions.align_channel.METHOD_NAME(sub), 600
        )  # 10 minute timeout
    except axros.util.TimeoutError:
        print("MARKER_TEST - TIMEOUT")
        return (False, "Timeout")
    else:
        if resp is None:
            print("MARKER_TEST - ERROR")
            return (False, "Error")
        print("MARKER_TEST - No timeout.")
    print(
        "MARKER_TEST - MISSION TIME:",
        (self.nh.get_time() - start_time) / 1000000000.0,
    )
    sub_odom = msg_helpers.odometry_to_numpy((yield self.true_pose))[0]
    print
    print(
        "MARKER_TEST - Distance Error: {}".format(
            np.linalg.norm(sub_odom[0][:2] - self.marker_point)
        )
    )
    print
    print(
        "MARKER_TEST - Angle Error: {}".format(
            np.dot(sub_odom[1], self.marker_quat)
        )
    )
    print
    distance_err = np.linalg.norm(sub_odom[0][:2] - self.marker_point)
    ang_err = np.dot(sub_odom[1], self.marker_quat)
    resp_msg = (
        str(msg_helpers.numpy_quat_pair_to_pose(*sub_odom))
        + "\n"
        + str(self.marker_pose)
        + "\n"
        + "Distance Error: "
        + str(distance_err)
        + "\n"
        + "Angle Error: "
        + str(ang_err)
        + "\n"
    )
    if 0.01 < np.abs(np.dot(sub_odom[1], self.marker_quat)) < 0.99:
        print("MARKER_TEST - FAIL")
        return (False, resp_msg)
    if np.linalg.norm(sub_odom[0][:2] - self.marker_point) > 0.5:
        print("MARKER_TEST - FAIL")
        return (False, "POSITION\n" + resp_msg)
    print("MARKER_TEST - PASS")
    return (True, resp_msg)