Fix for Issue 18: Use Callable as the way to support user functions

This fixes Issue 18