Words

  • Display Your Goals on TRMNL

    Ministry Goals is a goal-tracking app for iPhone, iPad, and Mac designed to help you set, measure, and stay accountable to the goals that matter most. It supports a variety of metric types — streaks, cumulative counts, cadence targets, score averages, and more — so you can track progress the way that fits your work. Download Ministry Goals from the App Store:

    Ministry Goals integrates with TRMNL, an e-ink display device that gives you a calm, always-visible dashboard of your goal progress. This guide walks you through setting up a TRMNL Private Plugin to display data pushed from Ministry Goals.

    Note: TRMNL integration is available in Ministry Goals version 1.2 and later. If you don’t see the TRMNL options in Settings, please update to the latest version from the App Store.


    What You Need

    • A TRMNL device (any model) connected to your TRMNL account
    • Ministry Goals installed on your iPhone, iPad, or Mac
    • A TRMNL account at usetrmnl.com

    Setup Workflow

    Step 1: Create a Private Plugin in TRMNL

    1. Log in to your TRMNL dashboard at usetrmnl.com.
    2. Navigate to Plugins and search for “Private Plugin.”
    3. Click New to create a new Private Plugin.
    4. Give it a name (e.g., “Ministry Goals — Books Read”).
    5. Set the Strategy to Webhook.
    6. Click Save. TRMNL will generate a Webhook URL for you.
    7. Copy the Webhook URL — you’ll need it in the next step.

    Step 2: Enable TRMNL in Ministry Goals

    1. Open Ministry Goals and go to Settings.
    2. Find the TRMNL Integration section and toggle it on.
    3. Paste your Webhook URL into the “TRMNL Webhook URL” field. This becomes the default URL for all goals.

    Step 3: Enable a Goal for TRMNL

    1. Open any Goal’s detail view in Ministry Goals.
    2. Scroll to the TRMNL section and toggle “Send to TRMNL” on.
    3. (Optional) If you want this goal to use a different Private Plugin, paste a different Webhook URL in the per-goal field. Otherwise it will use the default URL from Settings.
    4. Tap “Push This Goal Now” to send data immediately, or enable auto-push on app open.

    Step 4: Add the Markup Template

    Back in your TRMNL Private Plugin, click “Edit Markup.” You’ll see tabs for different layout sizes (Full, Half Horizontal, etc.). Paste the appropriate recipe from the section below into the Full tab. TRMNL uses Liquid templating, so the {{ variable }} placeholders will be replaced with your actual goal data.

    Step 5: Add to Your Playlist

    1. In your TRMNL dashboard, go to Playlists.
    2. Add your new Private Plugin to your active playlist.
    3. Your goal data will appear on your TRMNL device the next time it refreshes.

    Tips

    • One plugin per goal: Each goal pushes to its own webhook URL. If you want to display multiple goals, create multiple Private Plugins and assign each one a different Webhook URL.
    • Rate limits: TRMNL allows up to 12 webhook pushes per hour per plugin. Ministry Goals sends data on demand or once on app open, which stays well within this limit.
    • Screen won’t update? TRMNL skips re-rendering when the data hasn’t changed. Make sure your goal has new activity logged, then push again.
    • Shared markup: If you use the same custom CSS across multiple plugins, put the <style> block in the Shared tab of the TRMNL editor so it’s available to all layout sizes.

    Markup Recipes by Metric Type

    Below are ready-to-paste Liquid templates for each metric type in Ministry Goals. Each recipe is designed for the Full layout (800×480). The templates use TRMNL’s framework CSS classes and include inline styles for the custom elements.

    Copy the recipe for your metric type and paste it into the Full tab of your Private Plugin’s Markup Editor. Put the <style> block in the Shared tab if you plan to create multiple plugins.

    Cumulative Count

    Best for: Books read, people contacted, total hours logged — any metric that grows over time toward an optional target.

    What it shows: A large hero number in the center with the unit label underneath. When a target is set, a progress bar appears at the bottom of the screen with the percentage positioned above the fill point.

    Webhook fields: title, current, target, unit

    <style>
    .hero-value { font-size: 180px; font-weight: 900; line-height: 1;
    letter-spacing: -4px; font-variant-numeric: tabular-nums; }
    .bottom-bar { position: absolute; bottom: 0; left: 0; right: 0;
    padding: 0 24px 20px 24px; }
    .progress-wrapper { position: relative; }
    .target-label { font-size: 13px; font-weight: 500;
    text-align: right; margin-bottom: 6px; }
    .playhead-label { position: absolute; top: -20px;
    transform: translateX(-50%); font-size: 13px; font-weight: 700; }
    .progress-track { width: 100%; height: 12px; background: #e0e0e0;
    border: 1px solid #000; position: relative; }
    .progress-fill { height: 100%; background: #000; }
    </style>
    <div class="layout">
    <div class="columns"><div class="column"
    style="display:flex; flex-direction:column;
    align-items:center; justify-content:center; text-align:center;">
    <span class="title">{{ title }}</span>
    <span class="hero-value">{{ current }}</span>
    {% if unit and unit != "" %}
    <span class="label label--small"
    style="text-transform:uppercase;
    letter-spacing:2px;">{{ unit }}</span>
    {% endif %}
    </div></div>
    </div>
    {% if target and target > 0 %}
    {% assign pct = current | times: 100.0 | divided_by: target %}
    {% if pct > 100 %}{% assign pct = 100 %}{% endif %}
    <div class="bottom-bar">
    <div class="target-label">Target: {{ target }}</div>
    <div class="progress-wrapper">
    <span class="playhead-label"
    style="left:{{ pct | round }}%;">{{ pct | round }}%</span>
    <div class="progress-track">
    <div class="progress-fill"
    style="width:{{ pct | round }}%"></div>
    </div>
    </div>
    </div>
    {% endif %}

    Streak

    Best for: Daily prayer, Bible reading, exercise — any habit where consecutive days matter.

    What it shows: The current streak as a large number with “current” underneath. If the longest streak is greater, it appears in a smaller size alongside. A 14-day heat strip shows recent activity as filled (active) or empty (inactive) blocks.

    Webhook fields: title, streak_current, streak_longest, streak_at_risk, recent_days (array of 1s and 0s)

    <style>
    .hero-value { font-size: 180px; font-weight: 900; line-height: 1;
    letter-spacing: -4px; font-variant-numeric: tabular-nums; }
    .stat-secondary { font-size: 48px; font-weight: 600; opacity: 0.5; }
    .stats-row { display: flex; align-items: baseline; gap: 28px;
    justify-content: center; margin-top: 8px; }
    .stat-block { display: flex; flex-direction: column;
    align-items: center; }
    .stat-label { font-size: 12px; font-weight: 500;
    text-transform: uppercase; letter-spacing: 1px; opacity: 0.5; }
    .heat-strip { display: flex; gap: 4px;
    justify-content: center; margin-top: 16px; }
    .heat-day { width: 28px; height: 20px; border: 1px solid #000; }
    .heat-day--active { background: #000; }
    .heat-day--inactive { background: #fff; }
    </style>
    <div class="layout">
    <div class="columns"><div class="column" style="display:flex;
    flex-direction:column; align-items:center; text-align:center;">
    <span class="title">{{ title }}</span>
    <div class="stats-row">
    <div class="stat-block">
    <span class="hero-value">{{ streak_current }}</span>
    <span class="stat-label">current</span>
    </div>
    {% if streak_longest > streak_current %}
    <div class="stat-block">
    <span class="stat-secondary">{{ streak_longest }}</span>
    <span class="stat-label">longest</span>
    </div>
    {% endif %}
    </div>
    {% if streak_at_risk %}
    <span style="margin-top:8px; font-weight:700;">
    Warning: AT RISK - log today!</span>
    {% endif %}
    {% if recent_days and recent_days.size > 0 %}
    <div class="heat-strip">
    {% for day in recent_days %}
    <div class="heat-day {% if day == 1 %}
    heat-day--active{% else %}
    heat-day--inactive{% endif %}"></div>
    {% endfor %}
    </div>
    {% endif %}
    </div></div>
    </div>

    Cadence Count

    Best for: Outreach visits per week, classes taught per month — any frequency-based goal within a time period.

    What it shows: The current count as a hero number with the period label (e.g., “visits this week”). For targets of 31 or fewer, filled and empty pip dots provide a visual tally. Larger targets show a progress bar at the bottom instead.

    Webhook fields: title, current, target, unit, period

    <style>
    .hero-value { font-size: 180px; font-weight: 900; line-height: 1;
    letter-spacing: -4px; font-variant-numeric: tabular-nums; }
    .pip-grid { display: flex; flex-wrap: wrap; gap: 8px;
    justify-content: center; margin-top: 16px; }
    .pip { width: 18px; height: 18px; border-radius: 50%;
    border: 2px solid #000; }
    .pip--filled { background: #000; }
    .pip--empty { background: #fff; }
    </style>
    <div class="layout">
    <div class="columns"><div class="column" style="display:flex;
    flex-direction:column; align-items:center; text-align:center;">
    <span class="title">{{ title }}</span>
    <span class="hero-value">{{ current }}</span>
    <span class="label label--small"
    style="text-transform:uppercase; letter-spacing:2px;">
    {{ unit }} {{ period }}</span>
    {% if target and target > 0 and target <= 31 %}
    <div class="pip-grid">
    {% for i in (1..target) %}
    {% if i <= current %}
    <div class="pip pip--filled"></div>
    {% else %}
    <div class="pip pip--empty"></div>
    {% endif %}
    {% endfor %}
    </div>
    {% endif %}
    </div></div>
    </div>
    {% if target and target > 31 %}
    {% assign pct = current | times: 100.0 | divided_by: target %}
    {% if pct > 100 %}{% assign pct = 100 %}{% endif %}
    <div class="bottom-bar">
    <div class="target-label">Target: {{ target }}</div>
    <div class="progress-wrapper">
    <span class="playhead-label"
    style="left:{{ pct | round }}%;">{{ pct | round }}%</span>
    <div class="progress-track">
    <div class="progress-fill"
    style="width:{{ pct | round }}%"></div>
    </div>
    </div>
    </div>
    {% endif %}

    Score Average

    Best for: Sermon ratings, self-assessments, satisfaction scores — any metric where you track a running average.

    What it shows: The average displayed to one decimal place as the hero number, with “avg score” and the total entry count beneath. A bottom progress bar appears when a target average is set.

    Webhook fields: title, average_display, average_raw, target, unit, entry_count

    <style>
    .hero-value { font-size: 180px; font-weight: 900; line-height: 1;
    letter-spacing: -4px; font-variant-numeric: tabular-nums; }
    </style>
    <div class="layout">
    <div class="columns"><div class="column" style="display:flex;
    flex-direction:column; align-items:center; text-align:center;">
    <span class="title">{{ title }}</span>
    <span class="hero-value">{{ average_display }}</span>
    <span class="label label--small"
    style="text-transform:uppercase; letter-spacing:2px;">
    avg {{ unit }}</span>
    <span class="label" style="margin-top:8px; opacity:0.5;">
    {{ entry_count }} entries</span>
    </div></div>
    </div>
    {% if target and target > 0 %}
    {% assign pct = average_raw | times: 100.0 | divided_by: target %}
    {% if pct > 100 %}{% assign pct = 100 %}{% endif %}
    <div class="bottom-bar">
    <div class="target-label">Target: {{ target }}</div>
    <div class="progress-wrapper">
    <span class="playhead-label"
    style="left:{{ pct | round }}%;">{{ pct | round }}%</span>
    <div class="progress-track">
    <div class="progress-fill"
    style="width:{{ pct | round }}%"></div>
    </div>
    </div>
    </div>
    {% endif %}

    Ratio / Percentage

    Best for: Visitor return rate, conversion percentages, completion ratios — any metric expressed as a proportion.

    What it shows: The value as a hero number. When the unit is set to “percent” or “%”, a percent sign is appended automatically. A bottom progress bar shows progress toward the target.

    Webhook fields: title, current, target, unit, is_percent

    <style>
    .hero-value { font-size: 180px; font-weight: 900; line-height: 1;
    letter-spacing: -4px; font-variant-numeric: tabular-nums; }
    </style>
    <div class="layout">
    <div class="columns"><div class="column" style="display:flex;
    flex-direction:column; align-items:center; text-align:center;">
    <span class="title">{{ title }}</span>
    {% if is_percent %}
    <span class="hero-value">{{ current }}%</span>
    {% else %}
    <span class="hero-value">{{ current }}</span>
    <span class="label label--small"
    style="text-transform:uppercase;
    letter-spacing:2px;">{{ unit }}</span>
    {% endif %}
    </div></div>
    </div>
    {% if target and target > 0 %}
    {% assign pct = current | times: 100.0 | divided_by: target %}
    {% if pct > 100 %}{% assign pct = 100 %}{% endif %}
    <div class="bottom-bar">
    <div class="target-label">
    Target: {{ target }}{% if is_percent %}%{% endif %}</div>
    <div class="progress-wrapper">
    <span class="playhead-label"
    style="left:{{ pct | round }}%;">{{ pct | round }}%</span>
    <div class="progress-track">
    <div class="progress-fill"
    style="width:{{ pct | round }}%"></div>
    </div>
    </div>
    </div>
    {% endif %}

    Duration

    Best for: Prayer time, study sessions, exercise — any time-based goal.

    What it shows: The total time formatted as hours and minutes (e.g., “12h 45m”) in a slightly smaller hero font to accommodate the longer string. A bottom progress bar appears when a target is set.

    Webhook fields: title, duration_display, duration_target_display, current, target, unit

    <style>
    .hero-value-smaller { font-size: 120px; font-weight: 900;
    line-height: 1; letter-spacing: -3px;
    font-variant-numeric: tabular-nums; }
    </style>
    <div class="layout">
    <div class="columns"><div class="column" style="display:flex;
    flex-direction:column; align-items:center; text-align:center;">
    <span class="title">{{ title }}</span>
    <span class="hero-value-smaller">{{ duration_display }}</span>
    <span class="label label--small"
    style="text-transform:uppercase;
    letter-spacing:2px;">{{ unit }}</span>
    </div></div>
    </div>
    {% if target and target > 0 %}
    {% assign pct = current | times: 100.0 | divided_by: target %}
    {% if pct > 100 %}{% assign pct = 100 %}{% endif %}
    <div class="bottom-bar">
    <div class="target-label">
    Target: {{ duration_target_display }}</div>
    <div class="progress-wrapper">
    <span class="playhead-label"
    style="left:{{ pct | round }}%;">{{ pct | round }}%</span>
    <div class="progress-track">
    <div class="progress-fill"
    style="width:{{ pct | round }}%"></div>
    </div>
    </div>
    </div>
    {% endif %}

    Daily Cadence

    Best for: “Write 5 days per week,” “Fast 1 day per week” — goals that count the number of qualifying days within a period.

    What it shows: Identical layout to Cadence Count. The current count represents qualifying days rather than occurrences, with pip dots for targets of 31 or fewer.

    Uses the same Liquid template and webhook fields as Cadence Count above.


    Troubleshooting

    • Plugin shows old data: TRMNL skips re-rendering when data hasn’t changed. Log new activity in Ministry Goals, then push again.
    • Screen says “No data”: Make sure you’ve pushed at least once from Ministry Goals after pasting the markup. Check that your Webhook URL matches what’s in the app’s settings.
    • Layout looks broken: Make sure the <style> block is included either in the markup itself or in the Shared tab. TRMNL’s framework CSS handles the base layout, but the hero-value and progress styles are custom.
    • JavaScript not working: Wrap any JS in document.addEventListener("DOMContentLoaded", function(e) { ... }); as recommended by TRMNL.
    • HTTP errors: A 429 means you’ve exceeded 12 pushes per hour for that plugin. Wait a few minutes and try again.

    For more help, visit the TRMNL documentation at docs.usetrmnl.com or reach out to us through the Ministry Goals support page.

  • Church Verbs: What do we do?

    The Church receives the many-faceted grace (gifts) of God.

    The Church follows the way of Jesus.

    The Church loves God in response to the love God lavishes on us.

    The Church loves each other, our neighbors, and our enemies in the name of the God of love.

    The Church celebrates, expressing joy in the gifts of God each other. Put another way, we delight in the Lord and in each other.

    The Church laments, crying out against the pain of the broken world.

    The Church goes where the Father, Son, and Spirit send us.

    The Church represents the kingdom of God as community living under the reign of God.

    The Church baptizes people into the story of Jesus.

    The Church teaches the way of Jesus, passing on what we’ve learned from him to others.

    The Church serves neighbors in the name of God, thus living out our baptismal commitment to the servant-story of Jesus.

    The Church proclaims the gospel of Jesus in the world, bearing witness to his love, presence, and Lordship.

    The Church gathers in Jesus’s name, to habitually submit ourselves before his word and testify to each other of his love and presence. (This is what our worship gatherings are.)

    The Church watches for God’s activity in the world among ourselves and our neighbors.

    The Church waits.


    What other verbs describe the life of the church?

  • My Psalms: Developing a Personal Repertoire of Prayer

    An important step in tightening your relationship to the Psalms and engaging them as a spiritual practice is coming to think of them not in terms of the vast collection that they are as a whole, but in terms of a collection from which you collect a smaller repertoire. By repertoire, I mean a smaller, curated collection of the psalms that you know more intimately, that you mediate on with regularity.

    I don’t mean to suggest that you write off the larger collection—indeed, I hope my own personal repertoire of Psalms grows over time, particularly as I pray through the book month by month. But I suggest that it will do that slowly; psalm by psalm, as I give attention to nurturing my relationship with a few psalms before expanding to others. Here are three simple steps for that process:

    1. Evaluate

    The first step is to evaluate what your current repertoire of Psalms is. An easy way to do that is to think about what psalms you can easily match to a concept, remembering at least some of what is there. For example, if given Psalm 23, you can match it to the idea of the “shepherd”, or maybe if you’re given Psalm 1, you can match it to the image of a tree bearing fruit.

    Take some time to take an inventory…running through the psalms numbers 1-150, which can you more or less identify with a concept? Which are the most important to you, or contain something important to you? Make a list of the ones that make up your current repertoire.

    A final piece of evaluation: How intimately do you know the psalms in your current repertoire? Consider investing a season in nurturing your relationship with these psalms.

    2. Curate

    The second step is to be on the lookout for a few to add to your repertoire. This is where having a regular practice of praying through the psalms can be very helpful, because you’re constantly enchanting the breadth of the psalms. As you do, you will likely find that there are psalms that call for fuller attention. Take notice, and begin cataloging a list of psalms that you want to spend more time meditating on. What is next on the list of psalms to add to your repertoire?

    As you curate, be aware of the different kinds of psalms that make up your personal stockpile. No doubt you’ll see common affinities between them—it’s natural for us to be more attracted to certain types of psalms than others. So be on the lookout for ways to diversify your repertoire, adding some that are a little different than what you’ve already found useful.

    3. Meditate

    Finally, be intentional about spending time meditating on both the psalms that already make up the core of your repertoire, and those that are right on the edge of being included, psalms where you notice the Spirit luring you into a fuller depth.

    Developing Depth

    The ongoing prayer practice—whether on single or double-month terms—will expose us to the breadth of the psalms. This practice of developing a curated repertoire is about leaning into depth. Both are transformative!

  • Daily Psalms: Reading Schedules for Two or One Month Cycles

    One of Christianity’s simplest—and most ancient—practices for developing a vibrant spirituality is the daily reading of Psalms.

    The book of Psalms is vast, with 150 Psalms of varying length. In my experience, taking on a reading schedule that allows you to have a prescribed psalm or two to read each day makes it very manageable as a spiritual practice. Simply pick up the book, pray through the day’s selections and set it aside for the next day. Every month or two you repeat the cycle, which means you’ll return to each Psalm a handful of times each year. Over time your familiarity with these ancient poems will grow—the formative potency of such a practice has an arc of years, rather than days.

    Below are pdf files of a couple of schedules I have used. There is one for a one-month cycle, and a schedule for a two-month cycle through the Psalms. I find it very helpful to simply print one out, cut out the schedule, and tape it on the inside cover of my Bible. That way it’s waiting for me each day, cutting out any friction in getting started with my prayers.

  • Soul Work—for Communities

    “Pay attention to your soul” is good counsel for individuals. It’s evergreen advice, but perhaps even more acutely needed in our distracted, recklessly paced epoch.

    But perhaps it’s also important for communities as a whole. Not that communities have a should per se, but they do have a communal spirit, something that registers just under the typically tangible. It takes discernment to consider the soul of something like a church. It’s not easy work—but worthy, important work.

    It’s worth attention.

  • Missional Discernment

    A core practice of discipleship is discernment. In missional churches, part of the community’s work is discerning what God is doing around us, and how we are being drawn to participate in the missio dei.

    “Discernment is the church’s way of life; it is its whole way of being in the world. I would go so far as to say that discerning and joining the missional life of God comprises the life of the church. There is no being of the church that precedes its doing. The church discovers its identity as it finds itself in mission—the mission of God.”

    — Mark Love

    That discernment happens on several different levels:

    1. Individuals explore their own calling, learning to perceive God’s action so they can join it, or sometimes simply bear witness to what God is doing around them.
    2. Brothers and sisters in the community help each other discern ways God may be calling each other into participation in the Spirit’s work.
    3. The community discerns together how God may be calling them into action together.

    Discernment begins with observing, both materially what is happening and the kinds of feelings accompany those events.

    Reflection then leads to interpretation—often beginning with the simple word “perhaps”.

    No matter which of the above levels of discernment were working on, we learn to say to each other—or ourselves—something like “perhaps God is calling us to get to know this person that keeps popping up in our social circles in different places, who seems to be trying to figure out their life with God.”

    Or, “We feel our hearts going out to kids whenever our friends who are teachers tell us stories about their students. Maybe God is trying to get us to pay attention to their needs and develop some sort of partnership to serve them.”

    Or, “I’ve noticed that when you talk about your coworkers, your heart seems to be breaking for their struggles with their families. Perhaps God is leading us to create some sort of space where we can help them develop some wisdom about family issues like parenting or marriage.”

    A missional church naturally and intentionally has a lot of these kinds of conversations. It becomes part of the church’s DNA to consider those things out loud.

  • James K.A. Smith on How Our Loves, Longings, and Habits Drive Behavior

    A Christian education cannot be content to produce thinkers; it should aim to produce agents. Such formation not only offers content for minds; it also impinges on the nexus of habits and desires that functions as the activity center of the human person. The driving center of human action and behavior is a nexus of loves, longings, and habits that hums along under the hood, so to speak, without needing to be thought about. These loves, longings, and habits orient and propel our being-in-the-world. The focus on formation is holistic because its end is Christian action: what’s at stake here is not just how we think about the world but how we inhabit the world—how we act. We are what we love precisely because we do what we love.

    – James K.A. Smith1

    What Smith gets right here is the moving of education—whether we’re thinking of the University, seminary, or Bible classes or sermons at church—from something we think of as strictly intellectual, or also candidly affective, training our desires so that we will act in a certain way in the world. Thus, education is not just about the head, but about the heart and the body as well.

    That’s a really important corrective for much of what happens in all of those spaces where “teaching” happens.

    1. James K.A. Smith, Imagining the Kingdom, 2013, p 12. ↩︎
  • Graduation Weekend!

    A huge milestone weekend for our oldest daughters as Micah and Izzy are set to graduate on Sunday!

    Looking forward to celebrating these two!

  • David Bosch on Mission, Theology, and the Church

    “Mission is not primarily an activity of the church, but an attribute of God. God is a missionary God…There is church because there is a mission, and not vice versa.”
    – David J. Bosch1

    Missional theology starts with God.

    Church movements sometimes struggle navigating the relationship between practice and theology. The missional movement that’s developed over the last 40 years is not immune to that, and sometimes devolves into an instrumentalist praxis that makes it a defense technique against the institutional failures of church. (See Andrew Root’s critique.2)

    However, I do think that at the heat of the movement has been a marriage of the practical and the theological. For example, there’s been a lot of thought on how the ecclesiology of the movement is grows out of a robust trinitarian theology.

    David Bosch, the South African missiologist whose work, particularly Transforming Mission, is an important part of the missional family tree, articulates one of the key principles in the quote above. “Mission” for the church originates in how we conceive of God—”mission” is simply another expression for God’s desires or intentions. God wants something.God’s actions are not random, but come from God’s nature, God’s desires. How we understand what God wants—how we interpret the actions of the Father, Son, and Spirit revealed in scripture—give us a framework for how we can see God’s activity in our own contexts.

    That’s the heart of missional.

    1. Transforming Mission: Paradigm Shifts in Theology of Mission (Maryknoll, NY: Orbis, 1991), 390. ↩︎
    2. In, for instance, Evangelism in an Age of Despair, 2025. ↩︎

  • Huddle

    The whistle blows and the bodies
    Shift, settle, relax.
    For a moment there is
    stillness,
    reflection,
    assessment.
    They untangle the chaos so there may be
    measurement.
    Perhaps celebration.
    But most of the time the celebration must wait,
    there is more work to be done first.
    So they return to their side of the line,
    The new line,
    and join the huddle.
    There they gather,
    to hear the play-call,
    a code that will arrange their bodies,
    determine the set of rehearsed movements.
    In the huddle there is potential,
    ambiguous only for a last moment,
    before the truth will come out.