moved initializations to custom getters and added fix for update observers with undos