Some Primitives have a window inside that you can shift. Direction for shifting per each primitive is defined by Shifter.
If you can shift towards chosen direction - it results with updated state and Exist updated window:
If there is nowhere to move (no items) - state doesn't change and result is Empty: