This change creates a dispatcher abstraction to document the interface of a dispatcher. And also allows in the futur to have attributes with default values. Change-Id: I9a7e5e03f89635a3790b3851f492a1a7aab58feb