Open is a type of Move. 
Edit is derived from Editor. Editor is a type of Worker. Observer is a type of Worker. Observer is derived from Observe. 
Open --IsA--> Move 
Edit --DerivedFrom--> Editor --IsA--> Worker <--IsA-- Observer --DerivedFrom--> Observe 