better docs
just use the selector as the key
return nil if we don't suceed