Are the Collection methods here (#all, #find, #fetch) intended to be consumed externally? If so, support for promises should be added to #all and #find as well. If not, these methods should probably be hidden behind a closure to better encapsulate the implementation.