Corrected Function Visibility

Because the `$fmInstance` property is private, we should refer to it in terms of `self` rather than static.

I've made the `fmInstance()` function protected so that it may be accessed by people extending the class, and so that the calls to it that are in terms of `static` rather than `self` make sence.