Provided some basic default implementations so there is less repeated code.