Moved initialisers to separate initialiser directory
Move renderer to separate object
 - Use locals instead of global binding
 - This opens up the possibility to clean up methods, because rendering and variables can now be seperated.
Refactored array rendering into a separate function.
 - Cleaned up some ifs
 -  Inlined some functions