refactor epub ui: split to standalone module