def generate_modal(title, callback_id, blocks):
    """
    Generate a modal view object using Slack's BlockKit

    :param title: Title to display at the top of the modal view
    :param callback_id: Identifier used to help determine the type of modal view in future responses
    :param blocks: Blocks to add to the modal view
    :return: View object (Dictionary)
    """

    modal = {
        "type": "modal",
        "callback_id": callback_id,
        "title": {
            "type": "plain_text",
            "text": title,
            "emoji": False
        },
        "submit": {
            "type": "plain_text",
            "text": "Submit",
            "emoji": False
        },
        "close": {
            "type": "plain_text",
            "text": "Cancel",
            "emoji": False
        },
        "blocks": blocks
    }
    return modal