added base class and interface for WorldObjects