The `dispatcher` now uses queues
Instead of a matrix we use queues for every event.
Initialize `m_functions` of `dispatcher on construction