Performed some refactoring: Added base class and interface description.

Implemented nodes moving.