Put lock in contructor, call constructor from subclasses