A set of asynchronous lock pattarens for Angular.js