Pattern used in Eventide's Useful-Objects style: a getter defined as `@http_client ||= HttpClient::Substitute.new` (or similar) — if the attribute is still nil, it coalesces into a default value, typically a substitutable null-object implementation of the dependency's interface. Avoids hard-wiring a concrete operational dependency (which would be uncontrollable from tests) while guaranteeing the object is immediately useful. Replaceable by the `dependency` macro from Eventide's Dependency library.