Create static factory methods for Future and hide Future implementation