Make the constructor take a func already