Initial commit

Contains baseclasses and ApplyEdit implementation as a Task.