changed variable name to make sense. people are used to seeing `self` refer to the object scope not this hybrid object literal