Modify optional keywords model

Previous parsing of keywords such as log, stateful, comment, expire was
a hassle.

This fixes #6.