add get and set methods for performance considerations, and prevent any chance of users changing properties after lock() is called.

including performance tests