Reusable game components for use with vanilla js.