Splits proxy functionality out into sub module