Extract interface from dispatcher
Unit tests : first commit