Normalize items, prevent empty submission
Move directive to its own file
Factor storage out into a service
Proper saving
Clean up directives
Clean up HTML
Clean up