Separated non-ui specific commands into a genui file

Use it to build new user interfaces