is serializeSPI indepondent? if so couldn't you pass buf as a third parameter to createWork?