Implement ops context

Sine works now. Interactive edit ftw! Still a bit glitchy and prone to errors
but a good start.