Removes function pointers to content

Now that I understand how interfaces work in Go, we
can stop doing weird shit with function pointers and
just properly use the interfaces.