Poisson bracket makes $C^\infty(M)$ into a Lie algebra

Let $M$ be a symplectic manifold with symplectic form $\omega$. Define the Poisson bracket of two smooth functions $f$, $g$ by $\{f, g\} := \omega(X_f, X_g)$. How do I see that $X_{\{f, g\}} = [X_f, X_g]$ and therefore that Poisson bracket makes $C^\infty(M)$ into a Lie algebra?

$% % % %% %$

First of all, maybe it's just a sign convention, but the way I'm doing it, the statement needs a negative sign: $$X_{\{f,g\}} = -[X_f,X_g] = [X_g,X_f]$$ This is under the convention that $\omega(v,X_f) = df(v) = vf$ for any vector $v$. In particular, this gives that

$$\{f,g\} = \omega(X_f,X_g) = df(X_g) = X_g f$$

Again, using the definition of the Hamiltonian vector field, note that $X_{\{f,g\}}$ is characterized by the fact that for any $v$,

$$\omega(v,X_{\{f,g\}}) = d\{f,g\}(v) = v\{f,g\} = v X_g f \tag{\star}$$

In order to prove the desired claim (that $X_{\{f,g\}} = -[X_f,X_g]$), we will show that the vector $-[X_f,X_g] = [X_g,X_f]$ satisfies this property, and so must be equal to the Hamiltonian vector field $X_{\{f,g\}}$.

The flows of Hamiltonian vector fields are symplectic, meaning the Lie derivative $\mathcal{L}_{X_f} \omega$ is zero. In particular

$$\begin {eqnarray} 0 &=& \left( \mathcal{L}_{X_g} \omega \right)(v, X_f) \\ 0 &=& X_g \left( \omega(v,X_f) \right) - \omega([X_g,v],X_f) - \omega(v,[X_g,X_f]) \\ \omega(v,[X_g,X_f]) &=& X_g \left( \omega(v,X_f) \right) - \omega([X_g,v],X_f) \\ \omega(v,[X_g,X_f]) &=& X_g v f - [X_g,v] \, f \\ \omega(v,[X_g,X_f]) &=& v X_g f \end {eqnarray}$$

We have showed that $[X_g,X_f] = -[X_f,X_g]$ satisfies condition $(\star)$, and so it must be that $[X_g,X_f] = X_{\{f,g\}}$.