private void Init()
        {
            if (m_PoolWatcher == null && m_PoolWatcherTrigger == null)
            {
                return;
            }

            if (m_PoolWatcher != null && m_PoolWatcherTrigger == null)
            {
                throw new ArgumentException("If you provide a PoolWatcher you need also provide also a PoolWatcherTrigger");
            }

            m_PoolWatcherTrigger.Start(ExecuteWatcher);
        }