Always create libs through named factory functions