DecompositionSprint 2β successCompiled Learning ObjectivesDifferent experiences for different usersTODOExtracting common functionalityIdentify and explain the risks and costs of duplicate codeExtract functionality used by multiple route handlers into a common functionExtracting a middlewareIdentify and explain the risks and costs of manually calling code (e.g. authentication validators/extractors) from multiple route handlersExplain the middleware patternImplement and wire up a middlewareπ‘ Morning orientationIntroduce and welcome new volunteersNominate a timekeeperCheck the morning day plan and group structuresπ§° Workshop ActivityApply concepts from study to a practical exampleWork together on exercises and activities to find gaps in understandingDescribe and resolve mental model errors