Better .done() handling for promises