Global Handle to Class unavailable in Plugin?

Your core problem is that you are using two shortcodes. shortcodes are not a programing language and should not be used as such. Shortcode should generate HTML in a consistent self contained way. If a shortcode A can not work without having shortcode B in the content as well, it is a sign you are doing it wrong.

From the coding POV, you should never ever never ever use global variables. If you need to cache some resource, use an accessor function which store the value as a static and initializes it only when needed. In addition you do not use good prefixes to your functions which make collision with core and other plugin a likely eventuality, but really, instead for trying to figure out good prefix, just use name spaces.