Object needs a way of distinguishing itself from others at runtime, going to model this after CLOS