implemented toogle fullscreen feature.
moved the protocols implementation to the defrecord form.
removed Visible UI protocol and replaced with :visible attribute.
corrected typo.