move interface.go to the engines package as dispatch.go