/// <summary>Executes a function when the *functional* active state of this action (with the specified inputSource) changes.
 /// This happens when the action is bound or unbound, or when the ActionSet changes state.</summary>
 /// <param name="functionToCall">A local function that receives the boolean action who's active state changes and the corresponding input source</param>
 /// <param name="inputSource">The device you would like to get data from. Any if the action is not device specific.</param>
 public void AddOnActiveChangeListener(ActiveChangeHandler functionToCall, SteamVR_Input_Sources inputSource)
 {
     sourceMap[inputSource].onActiveChange += functionToCall;
 }