Changed MessageHandler to two types.

One has a default function, one a default return value.