May be you can consider tcolorbox. It offers a theorems library which simplifies definition and use of enumerated colorfull boxes.
The macro
\newtcbtheorem[<init options>]{<name>}{<display name>}{<options>}{<prefix>}
defines a new name enumerated environment (no worry about counters the package take care of them). display name will appear before number, options define environment style and prefix will be internally added as prefix to all used labels. After definition, in your text you can use
\begin{name}{Some description text}{label}
....
\end{name}
This create a boxed environment with Some description text in title box, ... in lower box and with prefix:label as label for further reference. Here you have a little example
\documentclass{article}
\usepackage[most]{tcolorbox}
\tcbset{
questionstyle/.style={enhanced, colback=white, colframe=blue!20, arc=0pt,
fonttitle=\bfseries, colbacktitle=green!40,coltitle=black,
boxed title style={arc=0pt}}
}
\newtcbtheorem[]{myquestion}{Question}{questionstyle}{quest}
\begin{document}
\begin{myquestion}{Question Body goes here. As you can see this is a very long question. At least its title is. What's your question?}{masi}
This is my answer
\end{myquestion}
\begin{myquestion}{New question related to question \ref{quest:masi}}{masi2}
This is the answer to question \ref{quest:masi2} which was related with question \ref{quest:masi}
\end{myquestion}
\end{document}

\labelneeds a counter, since it uses the last counter value to be fed to\refstepcounter. – Jun 21 '14 at 06:14