Use more abstracted field types
Define task period in task classes
Do not null-initialize "type" and "defaultValue"
Rename "username" to "name"
Wrap task scheduling lines