// Use this for initialization
    private void Start()
    {
        gameManager = GetComponent <GameManager>();

        onInputReceived = new InputEvent();
        onInputReceived.AddListener(OnInputReceived);
    }
    public void Config(string fileName, Action <KeyData> keyDown = null, Action <KeyData> keyUp = null, Action <KeyData> keyHeld = null, Action finished = null, Action paused = null, bool start = true)
    {
        m_keyDown.AddListener((KeyData keyData) => keyDown?.Invoke(keyData));
        m_keyUp.AddListener((KeyData keyData) => keyUp?.Invoke(keyData));
        m_keyHeld.AddListener((KeyData keyData) => keyHeld?.Invoke(keyData));

        m_finished.AddListener(() => finished());
        m_paused.AddListener(() => paused());

        Config(fileName, start);
    }