Answer
Use plugin pattern with defaults.
Expose public API.
Keep internal logic private.
Provide destroy and reinitialize support.
Expose public API.
Keep internal logic private.
Provide destroy and reinitialize support.
Sign in to access all features and personalize your learning experience.
Source: SugharaIQ