Edit in JSFiddle

input  = document.getElementById 'input'
label  = document.getElementById 'label'
button = document.getElementById 'button'
model  = {}

updateLabel = (name) ->
    label.innerHTML = "My name is #{name}"

input.addEventListener 'keyup', ->
    model.name = input.value
    
button.addEventListener 'click', ->
    model.name = 'John'

Object.observe model, (change) ->
    updateLabel change[0].object.name
    
model.name = 'Fatih'
<div class="pure-form">
    <fieldset>
        <legend>Simple two way data binding with Object.observe</legend>
        <input type="text" id="input" placeholder="Type your name" /> or 
        <button id="button" class="pure-button pure-button-primary">Click here to update name in the model</button>
        <p id="label"></p>
    </fieldset>
</div>
body { margin: 10px; }

External resources loaded into this fiddle: