Create a drop down list of notifications with an unread item count that resets or hides on click I've used the message module to create a notifications system on my site. It works fantastically, however the final task I would like to complete has been less pioneered via contributed modules. This is the creation of a drop down menu item that lists unread notifications. It requires several characteristics. 

1. Drop down functionality. Options I have investigated:

A) Menu views. Will allow immediate attachment of an item count badge via menu badges module. Would require addition of custom drop down javascript in theme and one additional module compared to option B.

B) Quick tabs accordion. Don't set a default tab and it behaves exactly like a drop down menu toggle. No additional modules or javascript necessary.

2. A badge that counts the # of unread items in the views list attaches it to the link that activates the drop down. Menu badge provides this for option A and link badge(required by menu badge so it's installation is a given) MAY provide this for option B but I don't know how to go about doing so.

3. Removing/resetting the badge after the drop down is viewed. Rules link may be the solution to this by marking the messages in the list as read + some css that hides the badge after click until it can be updated on next page load. May be possible to use views auto refresh module to do this through ajax, but it seems like this single feature would be a little too module heavy at that point.

I want to achieve this in the most lightweight manner possible, but I'm unsure how to proceed.

Re-written for clarification.
Your question consist of (at least) 3 questions. You should really split them in separate ones. Read on for an answer to your bullet "3." ...

Have a look at my answer to "How to allow users to manage their own Message Stack messages?", which IMO is pretty close to the question here. It can be summarized like so:


Create a flag (using the the Flag module).
Create a view 'Messages by user'.
Use Rules to flag/unflag messages.
Trigger the Rules Component to mark messages (using the VBO module).
Create notifications about Unread Messages (using the "Menu Badges" module).


Bonus: by using the suggestion as in item "5.", you probably also solved your bullet "2." (combined with "A.")

Note: no custom coding involved, only using some of the commonly used contributed modules (and "Menu Badges", a hidden gem ...).