diff --git a/HTML/document.coffee b/HTML/document.coffee
new file mode 100644
index 000000000..11e376ab4
--- /dev/null
+++ b/HTML/document.coffee
@@ -0,0 +1,26 @@
+# Fires these events:
+# - opened
+# - saved
+# - created
+class Document
+ path: null
+ text: null
+ listeners: []
+
+ constructor: (@path, @text) ->
+
+ name: ->
+ _.last @path.split '/' if @path
+
+ save: ->
+ trigger 'saved'
+
+ open = ->
+ trigger 'opened'
+
+ on: (message, listener) ->
+ @listeners.push listener
+
+ trigger: (message, args...) ->
+ _.each @listeners, (listener) ->
+ listener.call args...
\ No newline at end of file