use lazy vars and assigned closures instead of iVars
Merge pull request #2 from ddytert/patch-1

use lazy vars and assigned closures instead of iVars