Clean up functor interface