fixed api breakage and added concurrent matrix event handling
complete restructure of the api using gos builtin primitives type instead of Khronos