Part 1 (design time binding)
Part 2 (runtime binding)