IoC container added to demonstrate app binding
update: dependency injection / using an abstract interface instead of concrete injection