* consider if it's needed to have two maps for connections in the pool (or unify them and enrich the key) * check if some code can be simplified (eg: `ConnectionPurpose` is checked at least in two places)