Should inherit from BasicObject