public void AddMovementHandler(MovementType type, float threshold, MovementEventHandler handler, params JointID[] joints)
        {
            _movementHandlers[type].Add(threshold, new JointNMovementHandlerAggregator
                {
                    Handler = handler,
                    Joints = joints
                }
            );

            foreach (JointID j in joints)
            {
                if (!_previousStates.ContainsKey(j))
                {
                    _previousStates.Add(j, default(Vector));
                }
            }
        }
 public void RemoveMoventHandler(MovementType type, MovementEventHandler handler)
 {
     var list = _movementHandlers[type];
     list.RemoveAt(list.IndexOfValue(new JointNMovementHandlerAggregator { Handler = handler }));
 }