Cleaned up code by moving call to push-stack into push-listener