add ability to use three types of installation (bind, type, instance); add injectable provider test