Add operation::create()

I'm pretty sure I need to fix everything up again -- the problem is
that I originally wanted to have everything be const, but now I no
longer do that...