improve various little things

• add methods to check whether the input widget has options
  if they don't have options, hide them including label
• fallback if event page doesn't exist (yet)
make method static for external use
update model