Excellent!
Sure! A connection on a bundle
[tex]P \to B[/tex]
is a functor from the "path groupoid" of the base space B to the "transport groupoid" of the bundle.
Very roughly speaking, it goes like this:
The path groupoid has points of B as objects and paths in B as morphisms.
The transport groupoid has fibers of P as objects and maps betwen fibers as morphisms.
Here's how we get a functor. First send each point x in B to the fiber [tex]P_x[/tex] over that point - that's what our functor does to
objects. Then send each path from x to y in B to the "parallel transport" map from [tex]P_y[/tex] to [tex]P_y[/tex] - this is what our functor does to
morphisms.
I'm omitting a lot of details. All this is explained more precisely in
these talks of mine, based on a
a paper with Urs Schreiber. But, we go a lot farther: we think of "2-connections" as 2-functors between 2-categories. This lets us do parallel transport not just along curves, but along surfaces.
You can read a lot more about "connections as functors" in my
introduction to bundles and connections. This may be a little less stressful than picking what you want out of a more fancy discussion.
Here's a little puzzle: if we think of a connection as a functor, what's a gauge transformation?