A scope is a special object that controls dependency creation. It decides if new dependency instance should be created, or some cached instance should be returned.
By default, there are two scopes registered in haps:
haps.INSTANCE_SCOPE is used as a default.
Base scope class. Every custom scope should subclass this.
Dependencies within InstanceScope are created every injection.
Dependencies within SingletonScope are created only once in the application context.
Dependencies within ThreadScope are created only once in a thread context.