implement smart edit.

can just edit with given time or details without changing the type of
task, unless user wants to.