As I see it, the Initialize method is confusing compared to every other language that I'm aware of. The "instance" variable is not valid until the Initialize is called so it essentially is a "Class" method. Constantly adding code modules is not a very good solution for the long term maintenance and re-usability. Also, I'm not sure if this would work but it may be possible to use CallSub,etc on a class method vs code modules. I hope you're not going to restrict b4a's growth by keeping it watered down. The product has come a long way in my two years. Please keep the momentum going as the audience for this product will be tremendous once it's matured.
I don't think that this suggestion will lead to any progress. The language is cleaner now. You have classes with their instance methods and you have static code modules. Combining them will only make the language more confusing / less elegant.
Initialize is not a static method. Static methods cannot access instance variables. Initialize is more similar to Java / C# constructors. Even if you do consider it a static method, it doesn't really matter for this suggested feature.
When designing programming languages it is tempting to add more and more features. However the more you add the more you make the language difficult to master. Each feature should be carefully considered. Once you add a feature it is there for good...
Also, I'm not sure if this would work but it may be possible to use CallSub
You will also not be able to use CallSub (or more importantly raise events) with "static class methods". The reason for this restriction is that code modules do not hold a context of their own. This will also be the case with static class methods. This means that it will even be more confusing.
Note that this restriction is related specifically to the way Android works. In B4J for example you can raise events or use CallSub with code modules.
You will also not be able to access the class global variables from these static methods as the global variables are instance variables (this is why Initialize for example cannot be a static method).
This is my view. I usually try to avoid these arguments as there is no one correct way and to each his own opinion. I will not participate in this discussion any further.