Function called in order to de-initialize resource when it is released.
Function called in order to initialize resource with values provided on it's acquisition.
Notice that when resource is firstly created, you will receive an empty object which needs to be initialized.
Function called in order to de-initialize resource when it is released.