Chain rule for composition of $\mathbb C$ differentiable functions 
What are the different methods to formulate a version for chain rule for composition of $\mathbb C-$ differentiable functions? Give a short proof.

"Differentiable" will mean "complex differentiable" below. I'll assume the fact that if a function has a complex derivative at a point, the function is continuous at that point. 
Thm: Suppose $f$ is differentiable at $a$ and $g$ is differentiable at $f(a).$ Then $g\circ f$ is differentiable at $a$ and $(g\circ f)'(a)= g'(f(a))f'(a).$
Proof: Here is the natural first thing to try: For $z$ close to $a, z\ne a,$
$$\tag 1 \frac{g(f(z)-g(f(a))}{z-a} = \frac{g(f(z)-g(f(a))}{f(z)-f(a)}\frac{f(z)-f(a)}{z-a}.$$
Because $f$ is continuous at $a,$ $f(z) \to f(a)$ as $z\to a.$ Thus the limit in $(1)$ is $g'(f(a))f'(a)$ as desired.
What's wrong with that? The problem is that $f(z)$ could be equal to $f(a)$ for certain $z,$ rendering division by $f(z)-f(a)$ in $(1)$ meaningless.
Now, if $f'(a)\ne 0,$ we don't have that problem. That's because $|f(z)-f(a)|\ge (|f'(a)|/2)|z-a|$ for $z$ close to $a.$ In this case we are done; the problem we worried about disappears and the easy proof works.
We'll be done if we take care of the case $f'(a)=0.$ This is really not so bad: Because $g'(f(a))$ exists, there is a neighborhood $U$ of $f(a)$ and a constant $C>0$ such that
$$|g(w)-g(f(a))| \le C|w-f(a)|, w \in U.$$
If $z$ is close to $a,z\ne a,$ then $f(z)$ will lie in $U,$ and we'll have
$$\left |\frac{g(f(z)-g(f(a))}{z-a}\right | \le \frac{C|f(z)-f(a)|}{|z-a|}.$$
Because $f'(a)=0,$ the limit of the last expression is $0.$ This show $(g\circ f)'(a) = 0,$ which is exactly what the theorem says in this case. We're done.
