Classifying map for a surface bundle Let $E\longrightarrow X$ be a surface (with holes) bundle. The structure group is then $M_{g, s}$, the mapping class group of the fiber. It follows from the famous work of Penner that the classifying space of $M_{g, s}$ is homotopy equivalent to the geometrical realization of the category of fatgraphs, i.e., $$BM_{g,s} \simeq |\mathit{Fat}_{g,s}|.$$
My question is as follows: how can one construct the classifying map $X\longrightarrow |\mathit{Fat}_{g,s}|$ explicitly given the initial bundle in these terms? This seems pretty intuitive, but I can not get to the formal description.
My only thought was to try to find something similar the natural map to the Milnor join construction of the classifying space.
Edit: the natural restrictions for the genus and number of holes are $s\geqslant 1$ and $s+2g \geqslant 3$.
 A: As I said in the comments, the more natural thing would be to construct classifying maps to the moduli space of Riemann surfaces.  One then has to choose an identification of this with the complex of fatgraphs.
For simplicity, I'm going to work with closed surfaces and with fiber bundles whose bases are smooth manifolds.  Consider a fiber bundle $\pi:E \rightarrow X$ whose fibers are closed genus $g$ surfaces $\Sigma_g$ and whose base $X$ is a smooth manifold (not necessarily compact).  Our goal is to construct a classifying map $\phi:X \rightarrow \mathcal{M}_g$, where $\mathcal{M}_g$ is the moduli space of Riemann surfaces.  I'm going to think of $\mathcal{M}_g$ as the space of isomorphism classes of conformal structures on $\Sigma_g$.  
We can find a smooth embedding $f:E \rightarrow \mathbb{R}^k$ for some large $k$.  For each $x \in X$, the image $A_x:=f(\pi^{-1}(x))$ is a smooth submanifold of $\mathbb{R}^k$ which is diffeomorphic to $\Sigma_g$.  Restrict the usual Riemannian metric on $\mathbb{R}^k$ to $A_x$ to make $A_x$ into a Riemannian manifold.  The image $\phi(x) \in \mathcal{M}_g$ is then the conformal structure on $A_x$ given by this Riemannian metric.
Of course, this depends on the choice of embedding $f$.  However, stabilizing $f$ by embedding $\mathbb{R}^k$ into $\mathbb{R}^{k+1}$ changes nothing.  By making $k$ large enough, we can ensure that any two choices of embeddings are isotopic, which gives us a homotopy between the two classifying maps.
