Introduce Variable and update abstractions