public CameraClientRemoteControl(CameraClientViewModel model, ClientController camera) { _model = model; _camera = camera; _heartbeat = new HeartbeatTimer(() => Task.FromResult(0)); _ping = new PingUtility(50123); _ping.HandlePing += ReportCamera; _listener = new CommandListener(); _listener.RegisterHandler<RecordCommand, RecordCommand>(RemoteRecord); _listener.RegisterHandler<EnableHeartbeatCommand, EnableHeartbeatCommand>(EnableHeartbeat); _listener.RegisterHandler<UpdateResolutionCommand, RemoteResolutionModel>(UpdateResolution); }