Various core protocols for use with delegation
