better encapsulate the Native Array and Hash objects internal representation by using varargs in the NativeObjects factory constructors
remove all explicit usage of HashMap and ArrayBuffer outside of the internals of the classes which actually need them