Moved dispatch to Operation; made Operation callable; use session