Starting to think about how a bracket might work, which aspects could be refactored and reused.