Inline JS should be moved to its own external module eventually, but this is fine for now.