Make moire a library and introduce main.dart entrypoint