Stripping away the bulk of category theory and treating [small] categories as a type of algebraic structure, does the following suffice to axiomatise category theory? If not, what am I missing?
A [small] category is a $5$-tuple $\mathcal{C}=(C,M,s,t,\circ)$, where $C$ is the set of objects, $M$ the set of morphisms, $s:M\to C$ the source function, $t: M\to C$ the target function, and $\circ$ a partial operation $M^2\to M$, which satisfies the category axioms$^*$:
$$\begin{matrix} \mathbf{comp}_1 & \forall f,g\in M.t(f)=s(g)\implies g\circ f\in M\\ \mathbf{comp}_2 & \forall f,g\in M.g\circ f\in M\implies s(g\circ f)=s(f)\\ \mathbf{comp}_3 & \forall f,g\in M.g\circ f\in M\implies t(g\circ f)=t(g)\\ \mathbf{assoc} & \forall f,g,h\in M.f\circ(g\circ h)=(f\circ g)\circ h\\ \mathbf{id} & \forall X\in C.\exists f\in M.s(f)=t(f)=X \end{matrix}$$
Edit:
$$\begin{matrix} \mathbf{id}_1 & \forall X\in C.\exists f\in M.s(f)=t(f)=X\\ \mathbf{id}_2 & \forall f,g\in M.s(f)=t(f)\land s(g)=t(f)\implies g\circ f=g\\ \mathbf{id}_3 & \forall f,g\in M.s(f)=t(f)\land t(g)=s(f)\implies f\circ g=g \end{matrix}$$
$^*$ In keeping with the typical naming conventions of abstract algebra (e.g. group axioms, field axioms, etc.)