Added interface def to directive, converted work function in controller to lambda and typing cancel promise (feedback from screencast 2 from Alexander Fridlund ;-)), also fixed issue #2 by including social taxes in cost.