Taming Momentum in a Distributed Asynchronous Environment