Use $timeout instead of $apply

This should ensure a digest doesnt get applied twice.