Private transform
Transform cleanup, adding listeners and proper state handling