break serialQueue into its own package
workaround for https://github.com/tessel/beta/issues/391