This is a small project to understand Delegate and Protocals