first stab at #110 - magic updates with getters and setters