In reply to Jules:
bind is just a shortcut for instantiating a module (or interface) inside another module without modifying the source code for that other module. You can use all the concepts from the abstract class example here without using
bind.