optimized messenger to always convert functions to object subscribers