Notes:
Pb of visilibility can be solved with global variables, module variables, object attributes, implicit parameters (ghc)