Delegate pattern TODO list