Added in basic functionality for adding and removing points and subpoints (this needs to be made recursive to allow arbitrary depth).