lazy params init, automatic manage resource, destroy manipulable singleton implementation