Rewrite proposer to gen_server