Move dispatcher to its own project