Many types of universal constructions that appear in a wide
variety of mathematical contexts can be realized
as categorical limits and colimits. To define a limit
we first need the notion of a cone of a diagram.
A diagram of type $J$ in a category $\mathcal C$
is a simply a functor $F \colon J \to \mathcal C$.
We imagine $J$ as an indexing for the objects and
morphisms in $\mathcal C$ under consideration.
When $J$ is a finite category it can be visualized as
a directed graph.

A cone of $F$ is a pair $(N, \Psi)$ where $N$ is an object of $\mathcal C$ and
$\Psi$ is a collection of $\mathcal C$-morphisms
$\Psi_X \colon N \to F(X) $ (one for each object $X$ in $J$)
such that $\Psi_Y = F(f) \circ \Psi_X$
for every $J$-morphism $f \colon X \to Y$. Given two cones
$(N, \Psi)$ and $(M, \Phi)$ we call a $\mathcal C$-morphism
$u \colon N \to M$ a cone morphism from $(N, \Psi)$
to $(M, \Phi)$ provided that $u$ respects the cone property, which
is to say that for every object $X$ in $J$ the morphism $\Psi_X$
factors through $u$, i.e., $\Psi_X = \Phi_X \circ u$. We will write
$u \colon (N, \Psi) \to (M, \Phi)$ to denote that $u$
is a cone morphism.