Function that change table variable does not have effect on outside script in binded context action

I have a table.

it have such a variable which is

local table1 = {}
table1.Vector = Vector3.new(0,0,0)

I also have a function that is binded to Context Action Service

local function E()
        table1.Vector = Vector3.new(0,1,0)
        print(table1.Vector)
end

When table1.Vector is being printed in the function, it is Vector3.new(0,1,0).
However, when I print table.Vector outside of the function, it is still at its default value of Vector3.new(0,0,0)

I did not use coroutine for this part and none of it is being delay() 'ed and none of it is being spawn() 'ed.

Is there an solution?
Should this be an engine bug?