Add misc.Macro actor

Replaces #149 
Closes #142 
Doc string rather than comments?