A first go at adding arbitrary function dispatch.