Instance functions
Instance functions are functions that are defined inside a class without using the static keyword.
For efficiency purposes, only one copy of the function exists.
However some smoke and mirrors is used to make it appear that every object instantiated from the class has its own copy of every instance function that is defined in the class.