API documentation
class lime.app.Future<T>
var isCompleted:Bool
var value:T
function new(?work:Void ->T): Void
function onComplete(listener:T ->Void): Future<T>
function onError(listener:Dynamic ->Void): Future<T>
function onProgress(listener:Float ->Void): Future<T>
function then<U>(next:T ->Future<U>): Future<U>