move postreceive-hook handler to own controller