Add initialization-based configuration support

Please refer to issue #20