*Lock: Changed to abstract class