public Element parseElement(CharSequence content) {
        Map<String,String> styles = new HashMap<String, String>();
        Matcher matcher = META.matcher(content);
        if(matcher.find()) {
            parseStyles(styles, matcher.group(2));
            content = matcher.replaceFirst("");
        }

        Matcher noteMatcher = NOTE.matcher(content);
        if(noteMatcher.matches()) {
            return new NoteElement(noteMatcher.group(1).trim()).usingStyles(styles);
        }
        else {
            String[] parts = PARTS.split(content);
            List<String> attributes = splitValuesOrEmpty(parts, 1);
            List<String> methods = splitValuesOrEmpty(parts, 2);
            return new ClassElement(parts[0], attributes, methods).usingStyles(styles);
        }
    }