Can you do this in a way that does not require copying the same method four times?