Refactor all subclasses of Function to use a static Signature object.