Visual programming approaches are limited in their usefulness if they do not include a profile of their users that defines exactly who is attempting to solve what kind of problems using which tools and why. Without such a definition, visual programming approaches can end up as solutions in search of problems. Reconceptualizing programming environments as layered behavior processors in the context of creating SimCity-like interactive simulations makes end-user programming more feasible. The layered approach serves the programming needs for a range of users, including casual computer end-users and professional programmers. The extension of the Agentsheets system with the Ristretto agent to Java bytecode compiler is used to illustrate how a behavior processor enables end-users to create their own Java applets that can be embedded into web pages.