Promise
implementation in favor of an API closer to what newer browsers offer natively, which is kinda scary.
$$.setTimeout(method(:tick).to_proc, 2000)
http://opalrb.com/try/?code:def%20tick%0A%20%20puts%20%22yo%22%0Aend%0A%0A%24%24.setTimeout(method(%3Atick).to_proc%2C%20500)