Refactor demos to their own module