In reply to manning999:
Of course it is costly to compile your module-based approach into a class-based approach. But I’m sure you would get also a lot of benefits, i.e. regarding reusebility etc.
Another approach would be to stay with the non-clas-based approach and defina your BFMs as interfaces. This would mean you have to change the keyword module into the keyword interface.
Hierarchies of interfaces are allowed.