Exploring a FOM
In page object model, we could include small methods within pages (such as getters, clicks, and text setters – we could call that method object model). Then we can separate the objects into another document that can be edited without compilation. For example, they could be part of an XML, a CSV, or a JSON file.
The advantage of putting the objects into a separate method that is not part of compilation is obvious: being able to change the elements more quickly and at any time. However, keep in mind that testing over the new objects should be done prior to the production stage to make sure everything works as expected.
Getters and clicks methods could be as short as one line. However, sometimes, these methods can become more complicated than expected and it is interesting to separate them from the test logic. There is also the added benefit that this way, the objects are kept abstracted and encapsulated from the test logic, protecting them from unwanted editions...