* refactored Detail construction into private static class