Camera System issues

Hi, I have this camera system which is used to set a players view to points on an aircraft, however when it sets the camera it holds that positions and doesn’t actually follow with the camera part. So if the aircraft is moving and you view the wing the plane will keep moving but the camera remains still.

I’m not getting any errors, I just don’t usually mess with camera stuff so I’m not sure what the issue is.

-- Services
local TweenService = game:GetService("TweenService")
local StarterGui = game:GetService("StarterGui")
local Workspace = game:GetService("Workspace")
local Players = game:GetService("Players")

-- Variables
self = {}
self.__index = self
self.__metatable = "locked"

self.Camera = Workspace.CurrentCamera
self.ClickCounter = 0
self.Button = script.Parent.Root.Change.Button
self.Gui = script.Parent.Root
self.Animation = script.Parent.Animation
self.CameraModes = {}
self.TweenInfo = TweenInfo.new(0.3)

-- Functions
local function Setup()
	
	for _,v in pairs(Workspace:GetDescendants()) do
		if (v:IsA("Model") and v.Name == "CirosCamera") then
			if (v:FindFirstChild("Camera") and v:IsA("Model")) then
				for _,Object in pairs(v:GetChildren()) do
					if (Object:IsA("Model") and Object.Name == "Camera") then
						for _,Parts in pairs(Object:GetChildren()) do
							if (Parts:IsA("Part")) then
								-- Insert into table
								self.CameraModes[Parts.Name] = Parts

								-- Print
								print(string.format("Ciros Core: Added %s", Parts.Name))
							end
						end
					end
				end
			end
		end
	end
	
end

local function ChangeCamera(...)
	
	-- Variables
	local args = {...}
	local cameraEvent = args[1]
	
	-- Events
	if (cameraEvent == "Left") then
		
		local Tween = TweenService:Create(self.Animation,self.TweenInfo,{BackgroundTransparency=0})
		Tween:Play()
		Tween.Completed:Connect(function()
			self.Camera.CameraType = Enum.CameraType.Scriptable
			self.Camera.CoordinateFrame = self.CameraModes.Left.CFrame
			self.Gui.CurrentValue.Text = "Left"
			local Tween = TweenService:Create(self.Animation,self.TweenInfo,{BackgroundTransparency=1})
			Tween:Play()
		end)
		
	end
	
	if (cameraEvent == "Right") then

		local Tween = TweenService:Create(self.Animation,self.TweenInfo,{BackgroundTransparency=0})
		Tween:Play()
		Tween.Completed:Connect(function()
			self.Camera.CameraType = Enum.CameraType.Scriptable
			self.Camera.CoordinateFrame = self.CameraModes.Right.CFrame
			self.Gui.CurrentValue.Text = "Right"
			local Tween = TweenService:Create(self.Animation,self.TweenInfo,{BackgroundTransparency=1})
			Tween:Play()
		end)

	end
	
	if (cameraEvent == "Tail") then

		local Tween = TweenService:Create(self.Animation,self.TweenInfo,{BackgroundTransparency=0})
		Tween:Play()
		Tween.Completed:Connect(function()
			self.Camera.CameraType = Enum.CameraType.Scriptable
			self.Camera.CoordinateFrame = self.CameraModes.Tail.CFrame
			self.Gui.CurrentValue.Text = "Tail"
			local Tween = TweenService:Create(self.Animation,self.TweenInfo,{BackgroundTransparency=1})
			Tween:Play()
		end)

	end
	
	if (cameraEvent == "Gears") then

		local Tween = TweenService:Create(self.Animation,self.TweenInfo,{BackgroundTransparency=0})
		Tween:Play()
		Tween.Completed:Connect(function()
			self.Camera.CameraType = Enum.CameraType.Scriptable
			self.Camera.CoordinateFrame = self.CameraModes.Gears.CFrame
			self.Gui.CurrentValue.Text = "Gears"
			local Tween = TweenService:Create(self.Animation,self.TweenInfo,{BackgroundTransparency=1})
			Tween:Play()
		end)

	end
	
	if (cameraEvent == "Reset") then

		local Tween = TweenService:Create(self.Animation,self.TweenInfo,{BackgroundTransparency=0})
		Tween:Play()
		Tween.Completed:Connect(function()
			self.Camera.CameraType = Enum.CameraType.Custom
			self.Camera.CameraSubject = Players.LocalPlayer.Character.Humanoid
			self.Gui.CurrentValue.Text = "None"
			local Tween = TweenService:Create(self.Animation,self.TweenInfo,{BackgroundTransparency=1})
			Tween:Play()
		end)

	end
end

local function Init()
	
	-- Setup Camera
	Setup()
	
	-- Buttons
	self.Button.MouseButton1Click:Connect(function()
		if (self.ClickCounter == 0) then
			ChangeCamera("Left")
			self.ClickCounter = 1
		elseif (self.ClickCounter == 1) then
			ChangeCamera("Right")
			self.ClickCounter = 2
		elseif (self.ClickCounter == 2) then
			ChangeCamera("Tail")
			self.ClickCounter = 3
		elseif (self.ClickCounter == 3) then
			ChangeCamera("Gears")
			self.ClickCounter = 4
		elseif (self.ClickCounter == 4) then
			ChangeCamera("Reset")
			self.ClickCounter = 0
		end
	end)
	
end

-- Init
Init()