fully custumisable lock control with block based callbacks.