Add interfaces

- RemovalInterface
- VisitableInterface
- VisitorInterface