Split multi-functions into separate protocol

Adds basic implementations for mset and mdelete