// Update is called once per frame
    void FixedUpdate()
    {
        transform.Translate(Vector3.right * Input.GetAxis("Horizontal"));
        Vector3 position = transform.position;

        position.x         = Mathf.Clamp(position.x, Boundaries.Left(), Boundaries.Right());
        transform.position = position;
    }
    void Spawn()
    {
        float position  = Random.Range(Boundaries.Left() + 1.0f, Boundaries.Right() - 1.0f);
        bool  isHeretic = (m_believerCount >= (m_maximumSubjects - 1)) ?  true : Random.Range(0, 100) >= 50;

        if (!isHeretic)
        {
            ++m_believerCount;
        }

        Subject.Create(isHeretic, position);
        ++m_currentSubjects;
    }