Refact setInstance method
Make protected setInstance