Please can you check my proof of the spectral mapping theorem? I would like someone to help me check if I understand this proof and for this reason I would like to give the proof here in my own words. The statement I am proving is this:

Let $A$ be a unital $C^\ast$-algebra and $a \in A$ normal. Then for
  all $f \in C(\sigma (a))$: $$ f(\sigma (a)) = \sigma (f(a))$$

Ok here is the proof (as I understand it):
Let $\tau \in \Omega (A)$ be a character and $p: \sigma (a) \to \mathbb C$ a polynomial. Then $p(\tau(a)) = \tau (p(a))$ since $\tau$ is linear and multiplicative. Since $\tau$ is continuous and since every $f \in C(\sigma (a))$ is the (uniform) limit of a sequence of polynomials $p_n$ we therefore have 
$$ f(\tau(a)) = \lim p_n (\tau (a)) = \lim \tau (p_n (a)) = \tau (\lim p_n (a)) = \tau (f(a))$$
Again from a previous theorem we have that $\sigma (a) = \{\tau (a) \mid \tau \in \Omega (A)\}$. Putting these things together we therefore have:
$$ \sigma (f(a)) =  \{\tau (f(a)) \mid \tau \in \Omega (A) \} = \{f(\tau (a)) \mid \tau \in \Omega (A) \} = f(\sigma (a))$$
Is this correct reasoning? 
 A: The argument looks fine to me. But you need to restrict $A$ to be commutative. 
A: Let $A$ be a unital $C^\ast$ algebra and let $a\in A$ be normal. Then for $f \in C(\Omega(A))$ we have
$$ f(\sigma(a)) = \sigma(f(a))$$
Proof: 
We let $B$ be the algebra generated by $1$ and $a$. Then $B$ is commutative and unital. Hence the Gelfand representation $\varphi: B \to C(\Omega(B))$ is an isometric isomorphism. Also, $\sigma_B(a) = \sigma_A(a)$. 
Let $\tau \in \Omega(B)$ and $p: B \to B$ be a polynomial (identify the complex coefficients $c$ with $c \cdot 1 \in B$). Then $\tau \circ p = p \circ \tau$ because characters are linear and multiplicative. 
By Stone Weierstrass, $f \in C(\Omega(B))$ is a limit of a sequence of polynomials $p_n$. Then
$$ \begin{align}
f(\sigma_A(a)) &= f(\sigma_B(a)) \\
&= \{f \circ \tau (a) \mid \tau \in \Omega (B)\}\\ 
&=\{\lim_n p_n\circ \tau (a) \mid  \tau \in \Omega (B)\}\\ 
&=\{\lim_n \tau \circ p_n (a) \mid  \tau \in \Omega (B)\}\\ 
&=\{\tau \circ f (a) \mid  \tau \in \Omega (B)\}\\ 
&=\sigma_B(f(a)) = \sigma_A(f(a))
\end{align}$$
where $\sigma_B(f(a)) = \sigma_A(f(a))$ holds because $f$ is in the closure of the algebra of polynomials which is the algebra $B$, that is, $f(a)$ is in fact in $B$.
