Refactor [$while] compiling to use cleaner, smaller functions.
Refactor [$while] compiling to use cleaner, smaller functions.

seanofw/smile,seanofw/smile,seanofw/smile,seanofw/smile,seanofw/smile,seanofw/smile