At the moment of continuing from a BFTask that has a generic type - using instancetype
will re-use the same generic type, whilst this is redundant and might not be the case.
By chaining the return type back to BFTask *
we can make sure that we still return a BFTask, but it won't have a specific generic type anymore.