Renamed global var to clarify meaning.
New install function.
Made immediate methods communicate with other methods.

shortened code. No additional properties needed anymore.