Allow custom environments

Some usecases require environments like `staging` or `qa`

The restriction to just `development` or `production` for environment makes it difficult to do certain things.